Xwab
Форумыnavigate_nextПрограммирование на PHP

проблемка с выборкой
Сообщения
messer93

в базе записаны данные с датой в виде Тип DATE.
а так же метка времени в INT.

дата пишется Y-m-d вот так. метка просто time()

дальше хочу подсчитать вчерашние записи.

$date = date("Y-m-d", strtotime("-1 DAY"));

должно сейчас получится 2011-10-30 и в базе точно такие значени я есть. думал чтото напутал но

$date = date("Y-m-d", strtotime("-1 DAY"));
if ($date != '2011-10-30') {print "Error";}

не работает..

но я же знаю метку поетому пытаюсь взятся от начала дня до конца.

$d = explode(".", $dat);
$time = mktime(0, 0, 0, $d[1], $d[0] + 1, $d[2]);
$time2 = $time;
$time -=(60*60*24);

сделал такую штуку и она тоже не работает, хотя есть же метки вчера....
$zapros = mysql_num_rows(mysql_query("SELECT `info` FROM `table` WHERE `time` < '.$time2.' AND `time` > '.$time.' AND `id2` = '$i'"));

как посчитать?

31 Окт 2011, 15:15
Qutim

1. Да хватит уже ковырять движки бло

31 Окт 2011, 19:04
Kovalsky

messer93, ни фига не понял.. в поле `time` INT ? или DATE ? и если не DATE, то где тогда DATE?

31 Окт 2011, 19:08
web-master

проще уже дату тоже записывать в time() и при выборке считать, я б написал но с тел не могу

31 Окт 2011, 19:09
messer93

Kovalsky, `time` - INT

`date` - DATE Y-m-d

31 Окт 2011, 21:39
COOLBOY007

Есть же топ-темы.

31 Окт 2011, 21:42
Kovalsky

messer93,
вывод за сегодня по идее должен работать так
select * from `table_name` where `date`=date(now());

вывод данных где date - 3 дня назад
select * from `table_name` where `date`= DATE_SUB(now(), INTERVAL 3 DAY);

то есть вариантов то масса для вывода. должно выводить...

и так тоже должно работать
$date = date("Y-m-d", strtotime("-1 DAY"));
select * from `table_name` where `date`= '".$date."';

31 Окт 2011, 21:47
messer93

Kovalsky,
$date = date("Y-m-d", strtotime("-1 DAY"));
if ($date != '2011-10-30') {print "Error";}

тут еррор. и там соответственно не извлекает...
КАК ТАК МОЖЕТ БЫТЬ?? мозги плавятся.. я ничего не шарю.
2011-10-30 != 2011-10-30

Как????

31 Окт 2011, 22:06
COOLBOY007

messer93, у меня этот код ошибку не выводит.
Может время на сервере не правильно стоит?

31 Окт 2011, 22:13
messer93

COOLBOY007, кстати у меня ошыбку уже не кидает..

$date = date("Y-m-d", strtotime("-1 DAY"));
print date("Y-m-d");
print "<br>";
print $date;

результат

2011-10-31
2011-10-30

дальше

SELECT `id` FROM `ip` WHERE `type` = 'in' AND `date` = '2011-10-30'

результаты есть

SELECT `id` FROM `ip` WHERE `type` = 'in' AND `date` = '.$date.'

результатов нет....

31 Окт 2011, 22:28
Ответить на тему