[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проверка на существования данных!
qari
Есть 2 поля IP (VARCHAR) и time_stamp(TIMESTAMP)

есть код (не рабочий) на проверку существования данных:

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)
Цитата
time_stamp='".date("Y-m-d")."'

тампштайм имеет формат (год-месяц-день час-минута-секунда)
аль так тяжко в БД посмотреть что с чем сравнивается??

Это понятно, что такое 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)
Цитата
варианта 2 изменить алгоритм добавки и сменить timstamp на date или юзать LIKE вмсето =


Ну лайк не нужен, есть все же функция DATE_FORMAT, но конечно лучше или заменить поле на date или создать дополнительное, т.к. при использовании DATE_FORMAT не будут использоваться индексы + я предвижу проблему с поиском по IP, в каком формате он хранится в БД и в каком формате он в вашей переменной $ip?

(000.000.000.000) обычный VARCHAR

Спустя 21 минута, 15 секунд (17.05.2012 - 15:52) qari написал(а):
Ну вот я нашел такое решение:

#Проверка на сегодняшний клик
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` 
FROM `id_refclick`
WHERE DATE(`time_stamp`) = DATE(NOW()) and `ip` = '".$ip."'




Спустя 4 минуты, 49 секунд killer8080 написал(а):
Пардон вместо DATE(NOW()), можно просто CURDATE()

Спасибо! То, что нада!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.