Задавайте вопросы, мы ответим
Вы не зашли.
суть такая, в таблице поле time_view в формате time()
в переменной $time_t я выташил дату без времени, тоже самое нудно сделать в запросе
я так думаю что суть моего запроса верна, а вот орфография хромает) помогите подкорректировать пожалуйста
Неактивен
and date(`time_view`) = '$time_t'
Если потребуется другой формат отличный от 'Y-m-d', то
http://dev.mysql.com/doc/refman/5.5/en/ … ate-format
P.S. Не понял в каком формате у вас храниться время в базе, возможно вам потребуется http://dev.mysql.com/doc/refman/5.5/en/ … m-unixtime
Неактивен
serj011 написал:
суть такая, в таблице поле time_view в формате time()
в переменной $time_t я выташил дату без времени, тоже самое нудно сделать в запросе
я так думаю что суть моего запроса верна, а вот орфография хромает) помогите подкорректировать пожалуйста
формат time_view именно time (HH:MM:SS)?
Тогда вы никак не сделаете желаемое, т.к. в поле типа time не хранится дата
Отредактированно Shopen (19.11.2012 23:26:57)
Неактивен
Попробую все переформулировать.
Задача: вытащить все строки, которые соответствуют сегоднешней дате.
В таблицу дата заносится в формате time(); в time_view
Я думаю что есть и более правильные варианты, но мой такой)
перед запросом я беру текущую дату в формате Y-m-d' - $time_t = date('Y-m-d');
а в запросе необходимо из поля time_view вытащить дату в таком же формате - date('Y-m-d', time_view); и соответственно вытащить те строки где date('Y-m-d', time_view) = $time_t
Отредактированно serj011 (20.11.2012 01:34:55)
Неактивен
Не ясно, что вы подразумеваете под "форматом time()". Приведите пример данных.
Неактивен
Покажите результат
Неактивен
vasya написал:
Не ясно, что вы подразумеваете под "форматом time()". Приведите пример данных.
$time_view = time();
$result = mysql_query ("INSERT INTO view_anket (time_view) VALUES('$time_view')");
пример занесенных данных = 1353362279
$pdpa = date('Y-m-d', $result['time_view']);
echo $pdpa = 2012-11-19
$time_t = date('Y-m-d');
echo $time_t = 2012-11-19
$pdpa = $time_t равно УРА!)
Неактивен
vasya написал:
Покажите результат
show create table view_anket;
как его показать?) я вам все покажу)))
Неактивен
Выполнить команду Но это уже не нужно.
Неактивен
Спасибо огромное. Оказывается все так просто)))
Неактивен
ну и на будущее - формат хранения в таблице у вас (то что вы назвали time) скорее всего либо varchar либо int в котором вы храните число unixtime (т.е. дата в юникс-формате)
Неактивен
varchar) спасибо)
Неактивен
есть еще вопрос в догонку к этой теме...
у меня получился вот такой запрос
$result_view_today = mysql_query("SELECT COUNT(*) FROM view_anket WHERE id_users_see=$myrow_user[id] and date(FROM_UNIXTIME(time_view)) = '$time_t'");
на другом форуме где я тоже спрашивал как это сделать, я выложил рабочий вариант, на что мне ответили - "есть у меня подозрение, что при таком запросе индексы не заюзаются. Но я так понимаю, тебе пока на это насрать "
Так вот) заюзаются индексы при таком запросе или нет?))) и если не сложно хотя бы в двух словах - О ЧЁМ РЕЧЬ?))))))
Неактивен
Правильно говорят, не заюзются. Любая функция преобразующая данные столбца отключит использование индексов.
Чтобы индекс использовался (по полю time_view), вам нужно переделать запрос на такой:
Неактивен
Работает и этот запрос... На что это будет влиять если индекс по полю time_view не будет использоваться?
подскажите самую простенькую статью по эти индексам, для начинающих)
Неактивен