Autor | Zpráva | ||
---|---|---|---|
JaySee Profil |
Ahoj, včera jsem tu řešil s Kajmanem výpis vícejazyčného jídelníčku tak, aby zobrazoval alespoň nějaký překlad, když ten správný neexistuje.
Ještě jsem pak dotaz rozšířil o vazby na celý systém menu a kalendáře. Vše funguje podle představ, ale o co mi jde. Chci vypsat jídelníček na 7 dní. Pro každý den je v kalendáři přiřazeno menu. Menu má přiřazená jídla. SQL dotaz mi vrátí data v časovém rozmezí (v ukázce není) a ty chci vypsat do sedmi samostatných úseků. Přemýšlám, jestli se to ještě dá udělat na úrovni SQL, nebo to musím rozsekat v PHP podle času. Zatím mám výpis: 2012-06-15 - polévka s krutóny 2012-06-15 - řízek s bramborem 2012-06-16 - klobáska na pivě 2012-06-16 - brambory na šťouchačku etc... Takže chci výpis ve stylu: Pondělí: -polévka s krutóny -řízek s bramborem Úterý: -klobáska na pivě -brambory na šťouchačku etc... Na úrovni PHP to napsat umím, ale fakt mě zajímá, kam až můžu s tou databází dojít. Představuji si něco jako GROUP datum, ale jak to vypsat? Lze ten dotaz potom dostat do multidimenzionálního pole přímo z SQL? Tady je ten současný SQL dotaz: $lang = jazyk získaný přes $_GET $lang_def = defaultní jazyk SELECT coalesce(pl.nazev, ple.nazev) AS nazev, coalesce(pl.popis, ple.popis) AS popis, coalesce(l.lang_desc, le.lang_desc) AS langdesc, p.cenakc AS kc, p.cenaeur AS eur, k.datum FROM kalendar AS k LEFT JOIN menu AS m ON m.id = k.menu_id LEFT JOIN vazby AS v ON v.menu_id = m.id LEFT JOIN pokrm AS p ON p.id = v.pokrm_id LEFT JOIN (pokrm_lang AS pl JOIN lang AS l ON pl.id_lang = l.id AND l.lang = '$lang') ON p.id = pl.id_pokrm LEFT JOIN (pokrm_lang AS ple JOIN lang AS le ON ple.id_lang = le.id AND le.lang = '$lang_def') ON p.id = ple.id_pokrm |
||
Jan Tvrdík Profil |
#2 · Zasláno: 15. 6. 2012, 13:15:17
JaySee:
„Lze ten dotaz potom dostat do multidimenzionálního pole přímo z SQL?“ Obávám se, že to není možné. Výsledek dotazu bude vždy 2d tabulka. V databázi si to můžeš seřadit, ale rozřazení budeš muset udělat na úrovni PHP. Viz také PHP FAQ. |
||
JaySee Profil |
#3 · Zasláno: 15. 6. 2012, 13:24:31
Jan Tvrdík:
Paráda, díky, nenapadlo mě to hledat v PHP FAQ :-) Hledal jsem to v několika MySQL manuálech a návodech. A když toto nevyšlo, tak je tu alespoň velmi šikovný SELECT. |
||
Časová prodleva: 11 let
|
0