Autor Zpráva
zpevak1
Profil *
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
[#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'
případně
where sloupec >= '2014-08-02' and sloupec <= '2014-08-02 23:59:59'

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: