суть такая, в таблице поле time_view в формате time() в переменной $time_t я выташил дату без времени, тоже самое нудно сделать в запросе я так думаю что суть моего запроса верна, а вот орфография хромает) помогите подкорректировать пожалуйста $time_t = date('Y-m-d'); $result_view_today = mysql_query("SELECT COUNT(*) FROM view_anket WHERE id_users_see='$myrow_user[id]' and date(Y-m-d, `time_view`) = '$time_t'"); $temp_view_today = mysql_fetch_array($result_view_today); $posts_view_today = $temp_view_today[0];
а так Код (Text): <? $time_t = date('Y-m-d'); $result_view_today = mysql_query("SELECT COUNT(*) FROM view_anket WHERE id_users_see=$myrow_user[id] and date(Y-m-d, `time_view`) = $time_t"); $temp_view_today = mysql_fetch_array($result_view_today); $posts_view_today = $temp_view_today[0]; ?>
счас сделаем не парься ) Код (Text): <? $time_t = date('Y-m-d'); $result_view_today = mysql_query("SELECT COUNT(*) FROM view_anket WHERE id_users_see=".$myrow_user[id]." and date(Y-m-d, `time_view`) = ".$time_t."); $temp_view_today = mysql_fetch_array($result_view_today); $posts_view_today = $temp_view_today[0]; Добавлено спустя 2 минуты 1 секунду: Код (Text): <? $time_t = date('Y-m-d'); $result_view_today = mysql_query("SELECT COUNT(*) FROM view_anket WHERE id_users_see=".$myrow_user[id]." and date(Y-m-d, `time_view`) = ".$time_t); $temp_view_today = mysql_fetch_array($result_view_today); $posts_view_today = $temp_view_today[0]; Добавлено спустя 19 секунд: Код (Text): <? $time_t = date('Y-m-d'); $result_view_today = mysql_query('SELECT COUNT(*) FROM view_anket WHERE id_users_see='.$myrow_user[id].' and date(Y-m-d, `time_view`) = '.$time_t.'); $temp_view_today = mysql_fetch_array($result_view_today); $posts_view_today = $temp_view_today[0];
Код (Text): <? $time_t = date('Y-m-d'); $result_view_today = mysql_query('SELECT COUNT(*) FROM view_anket WHERE id_users_see='.$myrow_user[id].' and date(Y-m-d, `time_view`) = '.$time_t); $temp_view_today = mysql_fetch_array($result_view_today); $posts_view_today = $temp_view_today[0]; Добавлено спустя 37 секунд: пробуй если не поможет весь листинг дай
serj011 ты такой странный кто ж тебе скажет,надо знать куда там переменная идёт и так далее. Если ты программистом хочешь стать будь готовым по 100 вариантов проверять.Думаешь программирование это кнопочку нажал всё готово.Возможно но к этому надо долго идти.
"Формат time()" это время в секундах от начала времён. Чтобы сделать выборку за дату нужно сколько было секунд на начало этой даты в ноль часов ноль минут ноль секунд, и на конец этой даты 23:59:59.
Попробую все переформулировать. Задача: вытащить все строки, которые соответствуют сегоднешней дате. В таблицу дата заносится в формате 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 Я считаю что смысл правильный, только где то в запросе есть орфографическая "ошибка") jei, спасибо за желание помочь, мне кажется ты смысл уловил правльно, ошибка связана с ('.) или т.п., только раставил ты эти символы вообще от фонаря))) Добавлено спустя 24 минуты 17 секунд: експерсс примерчик ) $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 равно УРА!) Добавлено спустя 36 минут 48 секунд: тема закрыта. вот решение MariaDB [(none)]> SELECT date(FROM_UNIXTIME(1353362279)); +---------------------------------+ | date(FROM_UNIXTIME(1353362279)) | +---------------------------------+ | 2012-11-20 | +---------------------------------+ ))
$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'");
я б сделал иначе. есть у меня подозрение, что при таком запросе индексы не заюзаются. Но я так понимаю, тебе пока на это насрать =)
igordata, а так? Код (Text): $result_view_today = mysql_query("SELECT COUNT(*) FROM view_anket WHERE id_users_see=$myrow_user[id] AND time_view >= UNIX_TIMESTAMP(DATE('$time_t')) AND time_view < UNIX_TIMESTAMP(DATE('$time_t')+1)");
я тебе говорил как. у тебя время в секундах записано. в секундах и сравнивай. Тогда строка time_view >= UNIX_TIMESTAMP(DATE('$time_t')) AND time_view < UNIX_TIMESTAMP(DATE('$time_t')+1) превратится в time_view BETWEEN $period_start AND $period_end А вобще надо было хранить время в timestamp и тогда бы было бы проще жить