есть код (не рабочий) на проверку существования данных:
if (mysql_num_rows(mysql_query("SELECT time_stamp, ip FROM id_refclick WHERE time_stamp='".date("Y-m-d")."' and ip='".$ip."'"))) { print 1;}
Как реалезовать правельно? В результате должно проверять нету ли записей СЕГОДНЯ с такимто IP!!! Вот здесь у меня не понятки именно в TIMESTAMP!
Спустя 15 минут, 36 секунд (17.05.2012 - 14:06) Gabriel написал(а):
Цитата |
time_stamp='".date("Y-m-d")."' |
тампштайм имеет формат (год-месяц-день час-минута-секунда)
аль так тяжко в БД посмотреть что с чем сравнивается??
Спустя 3 минуты, 7 секунд (17.05.2012 - 14:09) qari написал(а):
Цитата (Gabriel @ 17.05.2012 - 10:06) | ||
тампштайм имеет формат (год-месяц-день час-минута-секунда) аль так тяжко в БД посмотреть что с чем сравнивается?? |
Это понятно, что такое TIMESTAMP, но в нем же идут секнды, минуты и часы! Вопрос как сделать именно по сегоднешней дате!
Спустя 3 минуты, 38 секунд (17.05.2012 - 14:12) Gabriel написал(а):
варианта 2 изменить алгоритм добавки и сменить timstamp на date или юзать LIKE вмсето =
Спустя 24 минуты, 33 секунды (17.05.2012 - 14:37) vagrand написал(а):
Цитата |
варианта 2 изменить алгоритм добавки и сменить timstamp на date или юзать LIKE вмсето = |
Ну лайк не нужен, есть все же функция DATE_FORMAT, но конечно лучше или заменить поле на date или создать дополнительное, т.к. при использовании DATE_FORMAT не будут использоваться индексы + я предвижу проблему с поиском по IP, в каком формате он хранится в БД и в каком формате он в вашей переменной $ip?
Спустя 53 минуты, 55 секунд (17.05.2012 - 15:31) qari написал(а):
Цитата (vagrand @ 17.05.2012 - 10:37) | ||
Ну лайк не нужен, есть все же функция DATE_FORMAT, но конечно лучше или заменить поле на date или создать дополнительное, т.к. при использовании DATE_FORMAT не будут использоваться индексы + я предвижу проблему с поиском по IP, в каком формате он хранится в БД и в каком формате он в вашей переменной $ip? |
(000.000.000.000) обычный VARCHAR
Спустя 21 минута, 15 секунд (17.05.2012 - 15:52) qari написал(а):
Ну вот я нашел такое решение:
Но думаю есть еще варианты решения данной задачи! Так как записей в таблице очень много будет, и соответсвенно LIKE нагрузит базу.
#Проверка на сегодняшний клик
if (mysql_num_rows(mysql_query("SELECT time_stamp, ip FROM id_refclick WHERE time_stamp LIKE '".date("Y-m-d")."%' and ip='".$ip."'"))) return false;
Но думаю есть еще варианты решения данной задачи! Так как записей в таблице очень много будет, и соответсвенно LIKE нагрузит базу.
Спустя 15 минут, 11 секунд (17.05.2012 - 16:07) vagrand написал(а):
Ну так вам написали уже варианты решения
Спустя 26 минут, 28 секунд (17.05.2012 - 16:34) qari написал(а):
Цитата (vagrand @ 17.05.2012 - 12:07) |
Ну так вам написали уже варианты решения |
Приведите пожалуйста пример с : DATE_FORMAT
Спустя 29 минут, 18 секунд (17.05.2012 - 17:03) killer8080 написал(а):
SELECT `time_stamp`, `ip`
FROM `id_refclick`
WHERE DATE(`time_stamp`) = DATE(NOW()) and `ip` = '".$ip."'
Спустя 4 минуты, 49 секунд killer8080 написал(а):
Пардон вместо DATE(NOW()), можно просто CURDATE()
Спустя 3 часа, 42 минуты, 36 секунд (17.05.2012 - 20:46) qari написал(а):
Цитата (killer8080 @ 17.05.2012 - 13:03) |
SELECT `time_stamp`, `ip` Спустя 4 минуты, 49 секунд killer8080 написал(а): Пардон вместо DATE(NOW()), можно просто CURDATE() |
Спасибо! То, что нада!