Когато часа е по-малък

sentenello

Registered
Как да направя в заявката да ми изкарва резултатите който са с по малък час от моментния.
Пробвах така.
$chas = date("H:i");
и след това пробвах в заяката така.
chas<=$chas и chas=<$chas и chas<$chas
но нито един от трите варианта не стана.
 
По какъв начин записваш часа в базата.
Аз ти предлагам да го записваш чрез time(), тъй като най-лесно ще си правиш проверките :)
 
Не мога да го направя с time пробвах вече доста пъти и не успях да го направя.
Часа го записвам в поле varchar ето така..
15:30 примерно.
 
Или записваш като int тоест Unix time stamp или използваш date/date_rime на MySQL
Тогава сравнението ще е елемнтарно. Записа в varchar или text е много лоша практика.
 
MYSQL TIME()
Правиш си полето TIME и записваш H-i-s така часа. и после

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_time

Код:
SELECT * FROM table WHERE row<TIME(NOW())

Глупаво е да ползваш unix формат в случая.
 
error каза:
Или записваш като int тоест Unix time stamp или използваш date/date_rime на MySQL
Тогава сравнението ще е елемнтарно. Записа в varchar или text е много лоша практика.

Моя грешка при писането. Полето е тип float. Сега ще пробвам варианта на jooorooo
 
Правиш си полето да е тип TIME записваш така:

23:15:22 /ч:м:с/

и после правиш така:

Код:
SELECT * FROM table WHERE chas<TIME(NOW())

където table е името на таблицата ти, chas е полето ти, а вече TIME и NOW са си MySQL функции
 
Ето как правя заявката но не става.

$tdate = date('d.m');
$godina = date('Y');
$getgamebets = mysql_query("SELECT * from igrabets where data=$tdate && godina=$godina chas<TIME(NOW()) order by id DESC ") or die(mysql_error());

в БД полето chas ми е тип TIME.

Ето я и грешката дето ми я дава.
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'chas
 
Бях забравил да сложа "&&" след като го сложих не дава грешка, но не изкарва никакъв резултат.
Ако може някой да помогне :cry:
 
$tdate = date('d.m');
$godina = date('Y');

$getgamebets = mysql_query("SELECT * from igrabets where data=$tdate AND godina=$godina chas<TIME(NOW()) order by id DESC ") or die(mysql_error());


Пробвай така.
 
Добре, защо записваш дата, година и час на различни места?

записваи всичко в едно поле което е "timestamp" и записваш така

2009-02-29 12:23:43
и после с mysql функциите DATE, TIME и подобните ще може да боравия с огромна лекота.
 
Жоре сега ще го направя TIMESMAP и ще опитам да го направя, но не мога да разбера защо не става с часа по този начин дето ползвам.
 
От цялата работа разбирам че грешката ми е при записването на данните в полето.
Сега го направих TIMESMAP , но ако ми кажете как да записвам там, защото досега ги записвах с Инпут полета като датата и часа и годината ги записвах в 3 различни полета.

Ако може някой да ми каже как да ги записвам. Проблема е че искам да ги въвеждам аз ръчно. Примерно за утре, вдругиден след 20 дена и т.н.
 

Back
Горе