Autor Zpráva
hondziiikh
Profil
Ahoj všem, řeším jak optimalizovat dotazy, zalamuji řádky v tabulce (to je jedno) a potřebuji, aby se mi každý nTý vysledek zalomil.. v tuhle chvíli mám např dotaz:

SELECT * FROM tabulka WHERE blokovany=0 AND date BETWEEN $dnesni_den AND $konec_mesice ORDER BY date ASC, pracovnik");
z tohohle dotazu vytahnu asi 300 řádků informací... Ale "pracovniků" je tam jen třeba jen 5. Někdy 6, někdy 13 a tak :) řeším to dalším dotazem SELECT DISTINCT pracovnik FROM... a slučuji to.. Moc optimální to není, napadá Vás jak to skloubit, nebo použití jiné funkce? Výsledek potřebuji aby vypsal těch 300 řádků, aby je psal vedle sebe, ale každých $pocetZamestnancu řádek zalomil.
Takže když bude zaměstnanců 5, tak těch 300 dotazů zalomí za každým 5tým..
Snad srozumitelné :)
Díky za infa
mimochodec
Profil
Nevím, jak spolu ty dvě věci souvisí. Zalomení řeš mimo sql. Při výpisu uvnitř while počítej průchody pomocí php a když dosáhneš $pocetZamestnancu, tak počitadlo vynuluj a zalom.
Tori
Profil
hondziiikh:
ORDER BY date ASC, pracovnik
vs.
potřebuji aby vypsal těch 300 řádků, aby je psal vedle sebe, ale každých $pocetZamestnancu řádek zalomil
Tohle mi nějak nedává smysl. Když budu mít např. 5 záznamů na dva pracovníky (3+2), řadím podle data a zalamuji po dvou záznamech, tak mi z toho má vyjít tohle?
1.1.2010-pepa, 3.1.2010-franta
4.1.2010-franta, 20.1.2010-franta
7.6.2010-pepa
Kdyžtak spíš napište příklad výstupu, jaký byste chtěl.

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: