Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Таблица с ip 
:(
    Опции темы
Muerto
Дата 22.5.2010, 14:20 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: 3
Всего: 4



Хотел создать список Ip которые посещяют сайт...
Но почему то идут дубли!!!
Вот как выглядит таблица:
Код

INSERT INTO `rvisits` (`id`, `ip`) VALUES
(4, '109.105.175.203'),
(63, '109.111.28.57'),
(53, '117.22.116.189'),
(58, '117.22.116.189'),
(65, '178.122.228.97'),
(20, '178.125.2.150'),
(26, '178.125.2.150'),
(17, '178.44.168.161'),
(10, '178.95.31.40'),
(14, '178.95.31.40'),
(5, '207.46.13.46'),
(13, '213.0.112.49'),
(21, '213.0.112.49'),
(42, '62.181.59.31, 188.120.228.146'),
(38, '77.73.88.5'),
(41, '77.74.67.8'),
(56, '77.74.67.8'),
(30, '77.88.29.248'),
(52, '77.88.29.248'),
(47, '78.138.168.112'),
(39, '78.153.158.17'),
(8, '78.36.121.2'),
(16, '78.36.121.2'),
(54, '79.140.10.127'),
(64, '79.140.10.127'),
(1, '79.176.29.180'),
(28, '80.254.110.8'),
(49, '81.17.145.158, 188.120.228.146'),
(46, '85.26.165.157'),
(51, '85.26.165.157'),
(36, '85.26.186.124'),
(44, '85.26.186.124'),
(32, '89.251.107.44'),
(27, '90.189.221.236'),
(37, '90.189.221.236'),
(40, '90.189.221.236'),
(45, '90.189.221.236'),
(35, '92.112.165.9'),
(24, '92.126.103.38'),
(15, '92.127.4.52'),
(25, '92.127.4.52'),
(22, '92.243.181.104'),
(7, '93.113.112.109'),
(57, '93.73.101.72'),
(62, '93.73.101.72'),
(9, '94.137.60.206'),
(12, '94.137.60.206'),
(19, '94.137.60.206'),
(59, '94.137.60.206'),
(11, '94.31.153.86'),
(18, '94.31.153.86'),
(29, '95.153.83.165'),
(31, '95.153.83.165'),
(33, '95.153.83.165'),
(34, '95.153.83.165'),
(48, '95.153.83.165'),
(50, '95.153.83.165'),
(55, '95.153.83.165'),
(2, '95.172.115.91'),
(23, '95.172.115.91'),
(43, '95.181.8.196'),
(61, '95.188.145.69'),
(6, '95.52.196.140'),
(60, '95.52.196.140'),
(3, '95.59.192.95');



Проверка идет такая:
Код

WHERE ((ip LIKE '%".$userip."%') or (ip='".$userip."')) LIMIT 1

И типа если записей <1 то вставляю в rvisits...
Но как вы видите к примеру
(33, '95.153.83.165'),
(34, '95.153.83.165'),
(48, '95.153.83.165'),
(50, '95.153.83.165'),
(55, '95.153.83.165'),

Что я делаю не так?
Таблица в innoDB

Это сообщение отредактировал(а) Muerto - 22.5.2010, 14:24


--------------------
user posted image
PM MAIL   Вверх
ksnk
Дата 22.5.2010, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



ip2long и делай индексным уникаьльным полем...

Добавлено через 2 минуты и 51 секунду
если хочется хранить несколько IP для одного ID - сделай ключ из 2-х полей.

Добавлено через 4 минуты и 26 секунд
а по сути ошибки - сдедлай LIMIT 2 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Muerto
Дата 22.5.2010, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: 3
Всего: 4



Понимайте в чем беда... Я вот просто думаю платить за переход по рефке, как часть партнерской программы
НО если вставляется по 4 раза один и тот же Ip , значит и партнер получит оплату 4 раза , что разумеется очень плохо мне.

И чем плох LIMIT 1 ?

Вроде бы если нашел Ip то нафиг дальше искать, зачем ещё нужны?

А id мне не нужен, ибо список ip глобальный...

Добавлено через 13 минут и 37 секунд
И чем лучше или хуже 
Код

INET_ATON()


Это сообщение отредактировал(а) Muerto - 22.5.2010, 14:46


--------------------
user posted image
PM MAIL   Вверх
Muerto
Дата 22.5.2010, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: 3
Всего: 4



Опа, у меня была ошибка в коде, поэтому вставляло без проверки уникальности...
Но все же раз подняли тему...

Какой самый быстрый метод ловли уникальных Ip , что бы поменьше грузило базу?

Я смотрю в сторону может куки, типа вставил, и тогда проверку будет пропускать...

Это сообщение отредактировал(а) Muerto - 22.5.2010, 14:58


--------------------
user posted image
PM MAIL   Вверх
Serkys
Дата 22.5.2010, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1061
Регистрация: 19.4.2004

Репутация: 4
Всего: 22



Самый простой вариант - сделать поле IP unique.
PM MAIL   Вверх
SickFxck
Дата 22.5.2010, 16:53 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 16.4.2010

Репутация: нет
Всего: 1



Хранить IP надо в INT.
PM MAIL   Вверх
Serkys
Дата 22.5.2010, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1061
Регистрация: 19.4.2004

Репутация: 4
Всего: 22



SickFxck, как это возможно?
PM MAIL   Вверх
SickFxck
Дата 22.5.2010, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 16.4.2010

Репутация: нет
Всего: 1



Serkys, INET_ATON()
PM MAIL   Вверх
Muerto
Дата 22.5.2010, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: 3
Всего: 4



Я вот не очень понял как этим Anton пользоваться =-)


--------------------
user posted image
PM MAIL   Вверх
NewDima
Дата 23.5.2010, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

Репутация: 10
Всего: 12



Muerto, вам ksnk сразу дал правильное решение
Цитата

ip2long и делай индексным уникаьльным полем...

Перейдите уж по ссылке выше, эта функция и переводит в инт. А дальше в записи одно поле всего будет - ip (INT), как  PRIMARY KEY
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0514 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.