Поиск клонов по ip

201
22 мая 2017, 00:39

Есть таблица с пользователями. Записываю в колонку iplast записываю последние входы ip. Вид примерно такой 12.12.12.12|13.14.15.16|10.12.14.15 . Нужно найти клонов, т.е. пользователей с совпадениями. Как можно реализовать?

Answer 1

Хранить IP адреса в таком виде это не лучшие практики, почитайте ip2long

и хранить их как строку с разделителем "|" тоже не желательно. Создайте отдельную таблицу ip с полями user_id, ip и записывайте туда при каждом заходе пользователя, его id и ip соответственно, так у вас будет история посещений с разных IP и правильная структура базы данных

Answer 2
$str = '12.12.12.12|13.14.15.16|12.12.12.12';
$result = array_count_values(explode('|', $str));
print_r($result);

выведет:

Array ( [12.12.12.12] => 2 [13.14.15.16] => 1 )

explode - разбивает строку с помощью разделителя. В данном случае это вертикальная черта.

array_count_values - подсчитывает количество всех значений массива

Всё. Далее просто считаешь, тех, у кого значение в массиве больше 1.

READ ALSO
Некоторые пхп скрипты не запускаются на сервере

Некоторые пхп скрипты не запускаются на сервере

Из-за чего такое может быть, что некоторые пхп скрипты не запускаются на сервере? А некоторые нормально работаютЗаливаю в корень доменов,...

228
Вывод данных из базы данных

Вывод данных из базы данных

Пишу простой модуль для Joomla для вывода ссылок, нужно вывести название и ссылку

221
Существование объекта

Существование объекта

БлогПользователь пишет пост

322
RBAC в Yii.Помогите разобраться

RBAC в Yii.Помогите разобраться

Всем доброго времени сутокТолько недавно начал изучать Yii2, и понадобилось выучить RBAC

439