NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

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.

Aktivity
Avatar
blablabla
Člen
Avatar
blablabla:10.8.2015 20:53

Ahoj,
potřeboval bych poradit. Mám tabulku, která má sloupce id, nadpis, sezona.

id nadpis sezona
1 Lorem 2013
2 Ipsum 2013
3 dolor 2013
4 Sit 2011

A potřeboval bych vícerozměrné pole, které by bylo řazeno dle sloupce sezona. Cílem je, abych to potom nějak jednoduše vypsal:

2011

  • Sit

2013

  • Lorem
  • Ipsum
  • dolor

Díky za pomoc.

 
Odpovědět
10.8.2015 20:53
Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovídá na blablabla
Jan Lupčík:10.8.2015 20:56

Stačí SQL dotaz:

SELECT * FROM tabulka ORDER BY sezona ASC
Nahoru Odpovědět
10.8.2015 20:56
TruckersMP vývojář
Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na blablabla
Ondřej Štorc:10.8.2015 21:03

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ý...

Editováno 10.8.2015 21:05
Nahoru Odpovědět
10.8.2015 21:03
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
blablabla
Člen
Avatar
Odpovídá na Ondřej Štorc
blablabla:10.8.2015 21:08

Ahoj,
díky moc, ale obávám se, že to není ono.

Tvůj kód vrátí toto (myslím):

  • Sit
  • Lorem
  • Ipsum
  • Dolor

Ale já bych potřeboval, aby tam byly vypsané ty roky. Viz. můj první příspěvek.

2011

  • Sit

2013

  • Lorem
  • Ipsum
  • dolor
 
Nahoru Odpovědět
10.8.2015 21:08
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na blablabla
David Hartinger:10.8.2015 21:11

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ý.

Nahoru Odpovědět
10.8.2015 21:11
New kid back on the block with a R.I.P
Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na blablabla
Ondřej Štorc:10.8.2015 21:15
$sezona = 0;
foreach($data as $collum){
        if($sezona < $collum['sezona']){
                $sezona = $collum['sezona'];
                echo($sezona);
        }
        echo(' - ' . $collum['nadpis];
}
Nahoru Odpovědět
10.8.2015 21:15
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na Ondřej Štorc
Ondřej Štorc:10.8.2015 21:24

Když na ten kód koukám tak by se tam spíš hodilo row než collum... :-`

Nahoru Odpovědět
10.8.2015 21:24
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.