Autor Zpráva
Musilda
Profil
Dobrý den

potřebuji poradit s mysql dotazem.
Mám funkci

function Now(){
$datum=Date("Y-m-d H:i:s", Time());
return $datum;
}

a v databázi záznam 'datum' ve fotmátu Y-m-d H:i:s

Uložené mám zápasy i s datumem a chci vypsat jen zápasy, které se ještě nekonaly.

Toto:
mysql_query("SELECT * FROM zapasy WHERE datum > '".Now()."'")
vypíše všechny zápasy. I ty starší.
Díky za pomoc.
Cargas
Profil
udelej to jinak :

<?
$datum = Date("Y-m-d H:i:s", Time());
echo($datum);




mysql_query("SELECT * FROM zapasy")

//do vypisu dej tutu podminku

if ($datum<$vypis[3]) {

echo $vypis[1];

}



?>
$vypis[3] - je to sloupec v mysql kde mas datum
$vypis[1] - je to sloupec toho co potrebujes vypsat

pisu to horkou jehlou takze chyby nevidim
Alphard
Profil
Musilda
není třeba to takhle komplikovat, sloupci s časem dejte typ datetime a pak bude stačit
where datum > now()

tady je now() standardní sql funkce, ta vaše není potřeba

Cargas
je to neefektivní
dRaGen
Profil
Cargas
Je to silně neefektivní, pokud tabulka zápasy bude mít 100 000 záznamů tak zbytečně vybíráš všechny a pak je třídíš čímž zbytečně silně zatěžuješ server.


Musilda
Udělej to jak ti radil Alphard
Musilda
Profil
Alphard
Díky, už to funguje.

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:

0