Autor Zpráva
senseye
Profil *
Dobrý den,
mohl by mi prosím někdo zkušenější poradit?

mám databázi s harmonogramem akcí

id---nazev------popis-------vlozil-------zacatek

přičemž sloupec zacatek je ve tvaru TIMESTAMP 2009-08-08 12:22:00

a potřeboval bych vypsat:
1. Dnešní akce
2. Zítřejší akce
3. Akce na následující víkend

je nějaký pohodlný způsob?
ninja
Profil
SELECT * FROM harmonogram WHERE zacatek >= '2009-08-08 00:00:00' AND zacatek <= '2009-08-08 23:59:59';


nebo treba

SELECT * FROM harmonogram WHERE zacatek BETWEEN '2009-08-08 00:00:00' AND '2009-08-08 23:59:59';
senseye
Profil *
no ale jak vygeneruju to dnešní datum ve formátu 2009-08-08 00:00:00, a zítřejší?
na to neexsituje nějaká přímo funkce?

to to musim generovat takhle složitě v php a pak to rvát do dotazu?

a nevíte jak na ten víkend?
tiso
Profil
senseye:
1. funkcia date()
2. áno
3. víme
TomášK
Profil
Koukni do dokumentace, jaké má MySQL funkce pro práci s časem:
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html Dnešní akce budou např.
SELECT * FROM harmonogram WHERE DATE(zacatek) = DATE(NOW())

Pro zítřejší akce se ti bude hodit DATE_ADD, pro víkend DAYOFWEEK;
senseye
Profil *
díky , snad to dám :-)
senseye
Profil *
tak jsem dal dnes a zítra, ale ten weekend mi nejde, můžete mi poradit, jak by vypadal dotaz pro následující víkend?

select * from harmonogram WHERE .........
Kajman_
Profil *
TomášK:
WHERE DATE(zacatek) = DATE(NOW())
může být mnohem pomalejší než řešení v [#2] kde lze použít indexy i cache

senseye:
$sobota=date("Y-m-d",strtotime("next Saturday"));
$pondeli=date("Y-m-d",strtotime("next Saturday +2 day"));
$query="... where `zacatek` between '$sobota' and '$pondeli'";
senseye
Profil *
děkuji moc ! to funguje :-)
Toto téma je uzamčeno. Odpověď nelze zaslat.