Autor Zpráva
Manny
Profil *
Mám zřejmě poměrně častý problém, přesto jsem na něj tady nenašel spolehlivé řešení.
Mám 2 tabulky s různým typem akcí (názvy) ale stejnou strukturou (id, od, do, hodina nazev, text)

Potřeboval bych zobrazit podle datumu (od) 3 aktuální akce. Problém je v tom, že v jeden den se mohou vyskytovat oba druhy akcí nebo jen jeden z nich.
Cílem je tedy na vystupu, v rámci jednoho cyklu, zobrazit pod jedním datumem jednu nebo dvě akce.

pokusil jsem se o toto:
$sql = "SELECT if(akcemuzika.od = akcejidlo.od, akcemuzika.od, akcejidlo.od) AS od, akcemuzika.hodina, akcemuzika.nazev, akcemuzika.text, akcejidlo.hodina, akcejidlo.nazev, akcejidlo.text
        FROM akcemuzika,akcejidlo
        WHERE od >= CURDATE()
        ORDER BY od
        LIMIT 3";
mimochodec
Profil
Myslím že potřebuješ http://dev.mysql.com/doc/refman/5.0/en/union.html
Tori
Profil
Manny:
Mám 2 tabulky s různým typem akcí (názvy) ale stejnou strukturou
A když budete chtít přidat další typ akce, tak založíte další totožnou tabulku? Je lepší udělat z toho jen jednu tabulku, a pro typ akce přidat další sloupec, třeba typ ENUM('jidlo','muzika')
Manny
Profil *
Tori:
Je lepší udělat z toho jen jednu tabulku, a pro typ akce přidat další sloupec,
To mě napadlo, udělat sloupec s příznakem. Ale 2 tabulky mi přišly přehlednější.
Tori
Profil
Manny:
Když si jednu tabulku seřadíte nejdřív podle typu akce a pak podle data, vypadá to stejně přehledně jako dvě samostatné tabulky pod sebou. Ale s jednou se líp pracuje.
mimochodec
Profil
Manny:
Ale 2 tabulky mi přišly přehlednější.

Jestli přehlednější, nevím. Teď právě řešíš první negativní důsledek toho, že máš data vedvou tabulkách. Pravděpodobně není poslední.
Manny
Profil *
Tori, mimochodec:
Pěkně jste mi to nandali:-)
Ve skutečnosti to mám stále v jedné tabulce. Takže přidám sloupec s příznakem.
Jak mám tedy vyřešit můj problém, kdy mám třeba 2 akce v jeden den a datum tedy chci vypsat pouze jednou. (do teď vypisuji datum s každým řádkem tabulky)
Lze to nějak řešit už na straně mysql nebo to je lepší až podmínkou v php?
Kajman
Profil
Lepší je to řešit až v php.
Manny
Profil *
Kajman:
Lepší je to řešit až v php.
Už jsem to tak udělal. Na konci cyklu uložím datum do proměnné a na začátku zkontroluji, jestli se nerovná s novým. Vlastně ani nepotřebuji další sloupec s typem akce. Díky všem.

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