Получить все имена пользователей по IP-строке из MySQL

Итак, каждый раз, когда кто-то регистрируется на моем сервере, их IP-адрес сохраняется в ROW с именем «IP».

Я хочу, чтобы каждая строка "USERNAME" сохраняла один и тот же IP-адрес.

Например: Учетные записи: Майк, Джон сохранены на IP 127.0.0.1.

Я хочу выбрать IP 127.0.0.1 и показать мне Майка, Джон.

В настоящее время я сделал это:

$sql10 = "SELECT IP, username, pHour FROM users  order by pHour DESC LIMIT 5;";
$results10 =  array();
$result10 = mysqli_query($con,$sql10);

$results10 = mysqli_fetch_all($result10, MYSQLI_ASSOC);

$output10 = '';

foreach ($results10 as $row) {
    $output10 .= ' ' . $row['username'] . ' and ' . $row['pHour'] . '
';
}

Я думаю, что я должен добавить

SELECT username, IP, pHour FROM users WHERE IP = '$row['IP']' order by pHour

Я нахожусь на хорошем пути к этому или даже близко не к этому?

Просто я хочу получить каждое имя пользователя и pHour из строки "IP"

Возможный дубликат Как получить IP-адрес клиента в PHP?

Cid 25.10.2018 21:03

@Cid это не дубликат, я знаю, как получить IP-адрес клиента, я просто не знаю, как получить строки «Имя пользователя» на основе его IP-адреса.

Emin Eryilmaz 25.10.2018 21:07

Сохранен ли IP в БД?

Cid 25.10.2018 21:12

обновите свой вопрос и добавьте в схему таблицы образец данных и ожидаемый результат, а также базу данных, которую вы также используете

ScaisEdge 25.10.2018 21:14

@Cid да в строке с именем IP.

Emin Eryilmaz 25.10.2018 21:16

@scaisEdge обновлен.

Emin Eryilmaz 25.10.2018 21:16

ГРУППА ПО IP? ...

clearshot66 25.10.2018 21:16

какой db вы используете .. и какой тип данных используетсяc для столбца ip?

ScaisEdge 25.10.2018 21:17

@scaisEdge Я хочу повторить его внутри HTML, я использую MySQL db, он использует varchar.

Emin Eryilmaz 25.10.2018 21:22

Вы хотя бы пытались выполнить показанный запрос? *

Cid 25.10.2018 21:22
WHERE IP = '$row['IP']' - Перед этим вам сначала понадобится еще один запрос. Здесь вы должны получать ошибки.
Funk Forty Niner 25.10.2018 21:27

@FunkFortyNiner, как мне продолжить?

Emin Eryilmaz 25.10.2018 21:37

Возможно, вам придется присоединиться к именам пользователей, используя что-то эквивалентное, например STUFF и FOR XML PATH в sqlserver.

Nilesh 25.10.2018 22:24
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
13
48
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы должны добавить условие для фильтрации строк ip

предполагая, что ваш столбец ip сохранен в строковом столбце с именем ip

$sql10 = "SELECT username, pHour 
            FROM users 
            where ip = '127.0.0.1'
            order by pHour DESC LIMIT 5;";

вы можете использовать для передачи ip как var

    $sth = $dbh->prepare('SELECT username, pHour 
        FROM users
        where ip = ?');
    $sth->bind_param("s",  $your_ip_var);

    $sth->execute();

Вместо where ip = '127.0.0.1' можно добавить where ip = '$ row [' IP ']'? который получает IP-строку текущего сеанса из mysql

Emin Eryilmaz 25.10.2018 21:23
"если вы PDO" - здесь используется mysqli_ api; посмотрите на их код ;-)
Funk Forty Niner 25.10.2018 21:24

Обратите внимание на редактирование: where ip = :my_ip' и bind_param() имеют 2 разных API.

Funk Forty Niner 25.10.2018 21:26

@FunkFortyNiner .. спасибо за предложение ... ответ обновлен

ScaisEdge 25.10.2018 21:28

Спасибо. Это то, что я искал.

Emin Eryilmaz 25.10.2018 21:29

Другие вопросы по теме