День добрый!
Нужна такая вещь как поиск дублированных значений в базе данных.
Например у меня на форуме стоит лог всех IP при регистрации... нужен скриптик, который искал бы повторяющиеся адреса в таблице и выводил их, таким образом будет больше % поймать читера, чем все смотреть вручную!
Спасибо.
Повторяющиеся значения в таблице - поиск и отображение
-
- phpBB 1.0.0
- Сообщения: 6
- Стаж: 19 лет 1 месяц
-
- phpBB 1.0.0
- Сообщения: 6
- Стаж: 19 лет 1 месяц
-
- phpBB 2.0.5
- Сообщения: 477
- Стаж: 21 год
Я такой проблемой как-то занимался ....
Тебе нужно сделать следующее:
1 - Создать копию нужной(исходной) таблицы с группировкой по полю в котором нужно удалить дубликаты
2 - Создать индексы в этой "временной" таблице (если индексы есть)
3 - Удалить исходную таблицу
4 - Переименовать временную таблицу в имя исходной
То есть, например есть "table1" и нужно удалить дубликаты по полю "field1".
Соответственно, действия будут такие:
create table table2 select * from table1 group by field1
...
...
и тд
Добавлено спустя 22 минуты 30 секунд:
Если тебе нужно просто смотреть максимальные значения, попробуй поколдовать с array_walk( )
Тебе нужно сделать следующее:
1 - Создать копию нужной(исходной) таблицы с группировкой по полю в котором нужно удалить дубликаты
2 - Создать индексы в этой "временной" таблице (если индексы есть)
3 - Удалить исходную таблицу
4 - Переименовать временную таблицу в имя исходной
То есть, например есть "table1" и нужно удалить дубликаты по полю "field1".
Соответственно, действия будут такие:
create table table2 select * from table1 group by field1
...
...
и тд
Добавлено спустя 22 минуты 30 секунд:
Если тебе нужно просто смотреть максимальные значения, попробуй поколдовать с array_walk( )
-
- phpBB 1.0.0
- Сообщения: 6
- Стаж: 19 лет 1 месяц
Мне нужно не удалить!
Нужно чтобы на моем мониторчике отобразились дубликаты!
Например один и тот же IP был записан при регистрации 2-х разных аккаунтов, есть таблица phpbb_users, в ней поля user_reg_ip, username, user_id и куча других, нужно чтобы дубликаты в полях user_reg_ip сопоставлялись с username либо user_id и выводились мне на экран!
Нужно чтобы на моем мониторчике отобразились дубликаты!
Например один и тот же IP был записан при регистрации 2-х разных аккаунтов, есть таблица phpbb_users, в ней поля user_reg_ip, username, user_id и куча других, нужно чтобы дубликаты в полях user_reg_ip сопоставлялись с username либо user_id и выводились мне на экран!
-
- phpBB 2.0.5
- Сообщения: 477
- Стаж: 21 год
Я сперва подумал, что ты хочешь из таблицы бана, удалить повторяющиеся записи IP-адресов ...
То есть, подумал, что у тебя, каким-то образом, "влетели" в эту таблицу "двойники"
В общем, сейчас вроде понятно, хотя мод я не видел ...
Если правильно понял, на этот раз, то делается примерно так:
SELECT pole1, count(*) AS entries
FROM table1
GROUP BY pole1
ORDER BY entries DESC
LIMIT 0, 10
Это выведет "первую десятку" наиболее частых "повторов" из поля pole1 в таблице table1
То есть, можешь выполнить это из phpmyadmin
Если тебе нужно, чтобы в скрипте отображалось число "повторов", то по идее в запрос можно просто добавить подсчитывание count(*), условие(какой номер), ну и соответственно, определить для него переменную, которую потом отображать ...
То есть, подумал, что у тебя, каким-то образом, "влетели" в эту таблицу "двойники"

В общем, сейчас вроде понятно, хотя мод я не видел ...
Если правильно понял, на этот раз, то делается примерно так:
SELECT pole1, count(*) AS entries
FROM table1
GROUP BY pole1
ORDER BY entries DESC
LIMIT 0, 10
Это выведет "первую десятку" наиболее частых "повторов" из поля pole1 в таблице table1
То есть, можешь выполнить это из phpmyadmin
Если тебе нужно, чтобы в скрипте отображалось число "повторов", то по идее в запрос можно просто добавить подсчитывание count(*), условие(какой номер), ну и соответственно, определить для него переменную, которую потом отображать ...
-
- phpBB 1.0.0
- Сообщения: 6
- Стаж: 19 лет 1 месяц