Diskuze: Výsledky z databáze do vícerozměrného pole
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 7 zpráv z 7.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Stačí SQL dotaz:
SELECT * FROM tabulka ORDER BY sezona ASC
Budu předpokládat že používáš zdejší <a
href="http://www.itnetwork.cz/php/mvc-pdo-crud-wrapped">DB
warper</a>.
Pak by jsi získal data z té tvé tabulk asi takto:
$data = Db::dotazVsechny('SELECT nadpis, sezona FROM tabulka ORDER BY sezona', array());
a pak by jsi je jen pomocí cyklu vypsal:
foreach($data as $collum){
echo($collum['nadpis']);
}
Snad je to co jsi chtěl, kdyby to nebylo ono tak napiš
Jan Lupčík: To ASC je tam zbytečný...
Ahoj,
díky moc, ale obávám se, že to není ono.
Tvůj kód vrátí toto (myslím):
Ale já bych potřeboval, aby tam byly vypsané ty roky. Viz. můj první příspěvek.
2011
- Sit
2013
- Lorem
- Ipsum
- dolor
Z databáze nemůžeš již z principu dostat nic jiného, než jednorozměrné pole. Jakoukoli další strukturu si musíš vytvořit v PHP. Ve tvém případě IMHO více polí vůbec nepotřebuješ, prostě budeš při výpisu kontrolovat jestli se nezměnil rok a pokud ano, tak vypíšeš ten nový.
$sezona = 0;
foreach($data as $collum){
if($sezona < $collum['sezona']){
$sezona = $collum['sezona'];
echo($sezona);
}
echo(' - ' . $collum['nadpis];
}
Když na ten kód koukám tak by se tam spíš hodilo row než collum...
Zobrazeno 7 zpráv z 7.