Итак, каждый раз, когда кто-то регистрируется на моем сервере, их 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"
@Cid это не дубликат, я знаю, как получить IP-адрес клиента, я просто не знаю, как получить строки «Имя пользователя» на основе его IP-адреса.
Сохранен ли IP в БД?
обновите свой вопрос и добавьте в схему таблицы образец данных и ожидаемый результат, а также базу данных, которую вы также используете
@Cid да в строке с именем IP.
@scaisEdge обновлен.
ГРУППА ПО IP? ...
какой db вы используете .. и какой тип данных используетсяc для столбца ip?
@scaisEdge Я хочу повторить его внутри HTML, я использую MySQL db, он использует varchar.
Вы хотя бы пытались выполнить показанный запрос? *
WHERE IP = '$row['IP']'
- Перед этим вам сначала понадобится еще один запрос. Здесь вы должны получать ошибки.
@FunkFortyNiner, как мне продолжить?
Возможно, вам придется присоединиться к именам пользователей, используя что-то эквивалентное, например STUFF
и FOR XML PATH
в sqlserver.
Вы должны добавить условие для фильтрации строк 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
Обратите внимание на редактирование: where ip = :my_ip'
и bind_param()
имеют 2 разных API.
@FunkFortyNiner .. спасибо за предложение ... ответ обновлен
Спасибо. Это то, что я искал.
Возможный дубликат Как получить IP-адрес клиента в PHP?