Autor Zpráva
capricorn
Profil
Zdravím, s návrhem tabulky by nebyl problém, ale já bych potřeboval v dotaze nebo v aplikaci seskupit řádky tak, aby se zbytecně nevypisovalo PO až NE na 7 řádků, když bude otevřeno např. NONSTOP, ale seskupilo se to na jeden řádek PO - NE - NONSTOP, i když v db bude těch řádku vždycky 7 pro každé id.
Zapsat to na jeden řádek do db jde také, ale já potřebuji pro každé id mít 7 dní, protože časy budou ve formatu time, abych s nima mohl pracovat.
okolojdouci
Profil *
capricorn:
s návrhem tabulky by nebyl problém

Takže řešíš přesně co? Tabulku navrženou máš nebo ne?
capricorn
Profil
okolojdouci:

Řeším to seskupení, jelikož v db mám:

id, day, time_open, time_close, time_close_pause, time_open_pause
1, 1, 08:00:00, 18:00:00, NULL, NULL
1, 2, 08:00:00, 18:00:00, NULL, NULL
1, 3, 08:00:00, 18:00:00, NULL, NULL
1, 4, 08:00:00, 18:00:00, NULL, NULL
1, 5, 08:00:00, 18:00:00, NULL, NULL
1, 6, 10:00:00, 18:00:00, NULL, NULL
1, 7, NULL, NULL, NULL, NULL
2, 1, 08:00:00, 18:00:00, 12:00:00, 13:00:00
2, 2, 08:00:00, 18:00:00, 12:00:00, 13:00:00
2, 3, 08:00:00, 18:00:00, 12:00:00, 13:00:00
2, 4, 08:00:00, 18:00:00, 12:00:00, 13:00:00
2, 5, 08:00:00, 18:00:00, 12:00:00, 13:00:00
2, 6, 10:00:00, 18:00:00, NULL, NULL
2, 7, NULL, NULL, NULL, NULL
3, 1, 00:00:00, 24:00:00, NULL, NULL
3, 2, 00:00:00, 24:00:00, NULL, NULL
3, 3, 00:00:00, 24:00:00, NULL, NULL
3, 4, 00:00:00, 24:00:00, NULL, NULL
3, 5, 00:00:00, 24:00:00, NULL, NULL
3, 6, 00:00:00, 24:00:00, NULL, NULL
3, 7, 00:00:00, 24:00:00, NULL, NULL
4, 1, 08:00:00, 18:00:00, NULL, NULL
4, 2, 08:00:00, 18:00:00, NULL, NULL
4, 3, 08:00:00, 18:00:00, 12:00:00, 13:00:00
4, 4, 08:00:00, 18:00:00, NULL, NULL
4, 5, 08:00:00, 18:00:00, NULL, NULL
4, 6, 10:00:00, 18:00:00, NULL, NULL
4, 7, NULL, NULL, NULL, NULL

A já potřebuji vypsat v aplikaci:

Pro id 1
Po - Pá - 8.00 - 18.00
So - 10.00 - 18.00
Ne - zavřeno

Pro id 2
Po - Pá - 8.00 - 18.00 - přestávka 12.00 - 13.00
So - 10.00 - 18.00
Ne - zavřeno

Pro id 3
Po - Ne - NONSTOP

Pro id 4
Po - 8.00 - 18.00
Út - 8.00 - 18.00
St - 8.00 - 18.00 - přestávka 12.00 - 13.00
Čt - 8.00 - 18.00
Pá - 8.00 - 18.00
So - 10.00 - 18.00
Ne - zavřeno

atd. pro různé kombinace.
okolojdouci
Profil *
capricorn:

To uděláš jen v php. Vytáhni si data do pole, otestuj podle kritérií, která tě zajímají a podle nich vytvoř výsledný výstup.
Příklad:

1. z databáze do pole

2. mají všechny dny hodnoty 00:00:00, 24:00:00, NULL, NULL?
3. ano-li, $vystup= "Po - Ne - NONSTOP";

4. mají všechny dny stejný čas?
5. ano-li, $vystup= "Po - Ne - ".$od."-".$do;

atd.
Joker
Profil
ad okolojdouci, když už, tak takhle:

- Načíst data, seřadit podle id a dnu
- Vytvoří se pole den_od, den_do, text tak, že pro každý den:
- - Sestaví se text, všechny hodnoty prázdné (null) by se přeložily jako zavřeno, hodnoty 00:00:00, 24:00:00, NULL, NULL jako nonstop.
- - Jestliže není první den a text je shodný s textem předchozího záznamu v poli, jen se předchozímu záznamu nastavý daný den do den_do a nic se nepřidává
- - Jinak se ten záznam přidá na konec pole (den_od = daný den, den_do = nic, text = text)
- Vypíše se pole přes foreach: den_od, pokud den_do není prázdný tak pomlčka a den_do, text.
capricorn
Profil
Joker:
Menší příklad by nebyl?

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