Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: Výsledky z databáze do vícerozměrného pole

PHP PHP Výsledky z databáze do vícerozměrného pole American English version English version

Aktivity (1)
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
IT Man
Redaktor
Avatar
Odpovídá na blablabla
IT Man:10.8.2015 20:56

Stačí SQL dotaz:

SELECT * FROM tabulka ORDER BY sezona ASC
Nahoru Odpovědět  +1 10.8.2015 20:56
Cokoliv a kdokoliv může jednou uspět.
Avatar
Odpovídá na blablabla
Ondřej Štorc:10.8.2015 21:03

Budu předpokládat že používáš zdejší DB warper.
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š :)

IT Man: 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 Čápka
Tým ITnetwork
Avatar
Odpovídá na blablabla
David Čápka: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  +2 10.8.2015 21:11
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
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  +2 10.8.2015 21:15
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
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.