Formulář select – hodnoty v array z DB

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
dawe27
Člen | 8
+
0
-

Zdravím,
potřeboval bych poradit jak do array vypíšu hodnoty z databáze, aby výsledek vypadal takto:

$tymy = array(
    '1' => 'A-team',
    '2' => 'Muži B',
    '3' => 'Dorostenci',
    '4' => 'Starší žáci',
    '5' => 'Žákyně',
);
$form->addSelect('team', 'Tým:', $tymy);

Zkoušel jsem takto ale buď se mi vůbec nenačetla stránka nebo tam byl prázdný select když jem místo ⇒ použil jen =

$team=mysql_query ("select  * from league_teams");
         while ($team1= MySQL_Fetch_Array($team)) {
        $tymy[$team1['id']] => $team1['team'];
        }
Facedown
Člen | 38
+
+1
-

Když už používáš Nette, proč to neudělat takto:

$data = $this->database->table('league_teams')->fetchAll();
$result = [];
foreach($data as $key => $value)
	$result[$value->ID] = $value->team;
David Kudera
Člen | 455
+
+1
-

Ve skutečnosti by si to v nette mohl zjednodušit ještě víc:

$this->database->table('league_teams')->fetchPairs('id', 'team');

Editoval David Kudera (21. 8. 2014 22:42)

dawe27
Člen | 8
+
0
-

používám nette pouze na formuláře, a k DB se mi přes něj nedaří připojit

David Kudera
Člen | 455
+
0
-

Aha no tak potom to udělej nějak v tom stylu jako tu psal @Facedown a nebo založ otázku s tvým problémem ohledně db.. No a jinak bych spíš zkusil pro tohle stackoverflow, jak psát web a tak.. Myslím, že tam by na to možná odpověděli spíš (přeci jen se to týká mysql a ne nette ;-)

Jo a ještě jedna taková mini-rada, nedoporučuje se v novým kódu používat tyhle mysql_* funkce. Do budoucna by to chtělo spíš vyřešit problémy s připojením k db