jak na hodnoty option u selectboxu?
- suxik
- Člen | 62
Ahoj,
mam dotaz **SELECT id, name FROM polozky **
a chci vysledkem tohoto dotazu naplnit ve formulari selectbox tak, aby se
nazvy moznosti naplnily daty ze sloupce name a hodnoty option
value jednotlivych moznosti sloupcem id.
Nevim ale jak to udelat, jelikoz metoda tridy AppForm addSelect() prijima pouze
pole polozek – nazvu a options mi to cisluje defaultne od 0 do X
- suxik
- Člen | 62
vyresil jsem to takto ve foreach cyklu a predavam konstruktoru selectboxu cele pole items a funguje to:
<?php
$items[] = Html::el('option', $value['name'])->value($value['id']);
?>
Ted z toho ale vznikl problem, kdy po odeslani formulare mam jako hodnotu selectboxu NULL, pritom selectbox je vygenerovan spravne
Editoval suxik (14. 2. 2010 16:21)
- suxik
- Člen | 62
protoze ja nevytahuju z DB jen pary, ale ke kazde kategorii take jeji nadrazenou a zobrazuju to v nazvu option jako kategorie / podkategorie, takze ve skutecnosti selectuju 3 veci a na to se mi fetchpairs nehodi, ale asi to budu muset nejak predelat, protoze to stale odesila NULL
- Blizzy
- Člen | 149
Můžeš udělat foreach, ve kterém si pole $items, které předáváš metodě addSelect, naplníš:
<?php
$items = array();
foreach ($values as $value) {
$items[$value['id']] = $value['name'];
}
?>
Případně by to možná šlo i bez použití foreach pomocí nějakých funkcí pro práci s polem, ale tohle bude asi nejsnazší.