dynamický selectbox načtený z databáze
- Altimit
- Člen | 82
Dobrý den,
Chtěl bych se zeptat zda-li je možné nějak „jednoduše“ vytvořit
formulář s 2 selectboxy, kde bude jeden selectbox a druhý třída
mám v databázi vytvořené 2 tabulky, které vypadají takto:
a potřeboval bych, aby tyto obsahy byly dynamicky načtené do
2 selectboxu..
zatím to mám tak, že to mám u toho formuláře vypsané.
zatím to mám udělané takhle:
$class = array(
'1' => '1.G',
'2' => '2.G',
'3' => '1.Kč',
'4' => '2.Kč',
'5' => '3.Kč',
'6' => '1.H',
'7' => '2.H',
'8' => '3.H',
'9' => '4.H',
'10' => '1.CR',
'11' => '2.CR',
'12' => '3.CR',
'13' => '4.CR',
);
$subjects = array(
'1' => 'Český Jazyk',
);
$form = new Form();
$form->addText('title', 'Název příspěvku')
->setRequired();
$form->addSelect('class', 'Třída:', $class)
->setPrompt('Zvolte třídu');
$form->addSelect('subject', 'Předmět:', $subjects)
->setPrompt('Zvolte Předmět');
$form->addTextArea('body', 'Detail příspěvku');
$form->addSubmit('submit', 'Odeslat');
$form->onSuccess[] = array($this, 'JottingFormSubmited');
return $form;
ale tak to moc nechci..
pracuji na projektu, který bude sloužit školám (něco jako moodle, ale
méně náročný na servery – má něco okolo 200 tabulek..) tento systém
má zatím jenom 7 tabulek bez blogu.
Děkuji za pomoc :)
- CZechBoY
- Člen | 3608
No a co ti neni jasny? Jak dostat model do komponenty? Podivej se do dokumentace https://doc.nette.org/…dependencies
- CZechBoY
- Člen | 3608
Jakože jak udělat závislé selectboxy? Zvolím jednu položku a podle toho
es načte obsah druhého selectboxu?
https://github.com/…entSelectBox
- Altimit
- Člen | 82
ne ne..
Jsem to asi blbě vysvětlil, už jsem to našel, ale to řešení se
mi nelíbí
Já jsem potřeboval z té jedné tabulky třeba ze sloupce „rocnik“ a z
„zkratka“ a aby mi to do selectboxu udělalo to, že mi to vypíše všechny
ty třídy jako „1.G, 2.G, 1.Kč“ a pod tím by bylo ID toho řádku..
zatím jsem našel jenom toto.. a moc se mi to nelíbí, protože jsem musel
změnit sloupeček zkratka a dopsat tak ten ročník ručně..
$class = $this->database->table('class')->fetchPairs('id','zkratka');
$form->addSelect('class_id', 'Třída:', $class)
->setPrompt('Zvolte třídu');