Autor | Zpráva | ||
---|---|---|---|
Nadšenec Profil * |
#1 · Zasláno: 6. 11. 2016, 14:42:42
Ahoj všem. Na webu hokejového klubu chci zobrazovat vždy 4 zápasy a to dva odehrané a dva, které se hrát teprve budou a moc nevím, jak na to. Jestli to vyzobat už rovnou v dotaze z databáze a nebo to ošetřit až v PHP? A jak vlastně? :-) K dispozici mám jen stanovené datum zápasu, tak snad nějak porovnávat s datem aktuálním? Nebo nějak jinak? Poraďte, prosím. Díky!
|
||
mckay Profil |
#2 · Zasláno: 6. 11. 2016, 14:57:09
Nadšenec:
Obecně bych řekl, že neuvádíte dostatek informací. „Jestli to vyzobat už rovnou v dotaze z databáze a nebo to ošetřit až v PHP?“ Ano, řekl bych, že je dobrým zvykem data předzpracovat přímo v místě, kde jsou uložena, pokud to prostředí umožňuje. Není pak třeba přenášet tolik dat a provádět výpočet až v PHP. „A jak vlastně?“ To dost záleží na tom, co je v databázi a jak to chcete zobrazovat. „A jak vlastně? :-) K dispozici mám jen stanovené datum zápasu, tak snad nějak porovnávat s datem aktuálním? Nebo nějak jinak?“ Toto zní jako rozumné řešení. Porovnání by se mělo dát udělat na straně databáze, funkcemi ve stylu NOW() apod.
|
||
Alphard Profil |
#3 · Zasláno: 6. 11. 2016, 15:17:05
Tohle by se typicky řešilo 2 dotazy:
- where datum >= now() order by datum limit 2
- where datum < now() order by datum desc limit 2 (tohle dát případně do poddotazu a seřadit to pak ještě vzestupně)
Oba dotazy je možné spojit pomocí union .
Tohle je zjednodušené, neřeší to zápas, který se zrovna hraje, ale je to typický algoritmus např. pro stránkování určitý počet dopředu a dozadu. |
||
Časová prodleva: 8 let
|
0