Одним запросом вставить логи просмотров страниц сайта.

lutskboy
На сайте с 22.11.2013
Offline
170
362

Всем привет

Вобщем нужно сделать логи посещения сайта. просмотр новостей.

будет таблица где будут поля news_id, ip, date

Мне нужно туда вставлять соответственно данные id новости, ip пользователя и дата текущая

Хочу чтоб там шли только уникальные строки

то есть мне нужно учитывать ели пользователь два раза посетил одну и ту же страничку

то вставить только одну запись.

а если зашел через сутки то снова вставить запись в таблицу.

Можно сделать двумя запросами

SELECT news_id, ip, date FROM table WHERE news_id=id, ip=ip, date=date

if(!$row) если нет записей то вставляем

INSERT INTO table....

Так вот как можно обойтись одним запросом.

Что то типа ON DUPLICATE KEY или INSERT IGNORE

K
На сайте с 03.06.2015
Offline
45
#1

Делайте составной уникальный ключ и по нему драйвер сам или сделает новую запись, или не сделает новую запись.

Как я понял ключ будет состоять из всех трех полей - news_id, ip, date. Только сделайте именно дату, а не timestamp или чего-то с временем.

Ну да, а потом on duplicate key update values()... в мануале все есть.

MYSQL PHP JS HTML CSS SEO TXT США СССР

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий