Autor | Zpráva | ||
---|---|---|---|
zpevak1 Profil * |
#1 · Zasláno: 2. 8. 2014, 22:25:01
Zdravím a prosím o radu.
V PHP mám v proměnné $datum uložený čas v podobě počtu sekund od 1.1.1970 z databáze MySQL chci vybrat pouze řádky, které ve sloupci pojmenovaném "datetime" (v databázi vedeno jako datový formát datetime) mají shodnou hodnotu datumu. Prosím o radu, jak mám zapsat syntaxi (zatím mám pouze symbolicky, viz řádek níže) mysql_query("SELECT * FROM `$tb` WHERE `datetime` = datum uložený v proměnné datum"); Předem děkuji |
||
Taps Profil |
zpevak1:
zkus něco takového <? $datum = date('Y-m-d', strtotime($datum)); mysql_query("SELECT * FROM $tb WHERE DATE_FORMAT('%Y-%m-%d',datetime) = '$datum'"); ?> |
||
Alphard Profil |
#3 · Zasláno: 2. 8. 2014, 22:42:31
[#2]:
Volat funkci na sloupec je neefektivní, navíc to znemožňuje použít indexy. Pro malé tabulky ok, ale pro větší je lepší řešit to jinak. Nejsem si z dotazu jist, jestli jde o odstřižení času a hledání jen podle data, jestli ale ano, řeší se to dvěmi nerovnostmi. where sloupec >= '2014-08-02' and sloupec < '2014-08-03' where sloupec >= '2014-08-02' and sloupec <= '2014-08-02 23:59:59' |
||
Časová prodleva: 10 let
|
0