Oznámení
Načtení údaju do select option
před 7 lety
- pavell86
- Člen | 5
Zdravím, mám níže uvedený dotaz, pomocí kterého vypisuji do inputu místo a čas zápasu. Ještě bych však potřeboval načíst do formulářového prvku select domácí a hostující tým.
SELECT z.id as id,d.tym as domaci,h.tym as hoste,DATE_FORMAT(z.cas,"%d.%m.%Y %H:%i") as datum, z.misto as misto from system_terminy_zapasu z
LEFT JOIN system_tymy d ON z.id_domaci=d.id
LEFT JOIN system_tymy h on z.id_hoste=h.id
WHERE z.id=%i,$id)->fetch();
V případě že jsem dělal výpis jen do roletky tak jsem použil dibi::fetchPairs, ale ted nevím jak zápis skombinovat s výše uvedeným…mohl by mi prosím někdo poradit.
Děkuji
Editoval pavell86 (17. 7. 2012 10:35)
před 7 lety
- Milo
- Nette Core | 1119
fetchPairs()
můžeš předat dva parametry.
fetchPairs('id', 'hoste')
.
PS: Nerozumím datům co taháš z DB
před 7 lety
- pavell86
- Člen | 5
to ano, ale jak mám vypsat do inputu i ty zbývající data ?
před 7 lety
- Milo
- Nette Core | 1119
Problém bude, že nechápu co chceš udělat :) Zkusim…
$res = $db->query('SELECT .... FROM');
$data1 = $res->fetch();
$data2 = $res->fetchPairs();
před 7 lety
- pavell86
- Člen | 5
Mám formulář, ve kterém mám položky
domácí tým (roletka ze které lze vybrat tým)
hostující tým (roletka ze které lze vybrat tým)
čas utkání (input)
místo utkání (input)
a pak chci do formuláře načíst data, které mám uložené v databázi
struktura tabulek
system_terminy_zapasu
id_domacihotymu
id_hostujicihotymu
cas
misto
system_tymy
id
nazev
Pomocí left join spojím tabulky a vytáhnu názvy týmu, které spolu mají hrát
před 7 lety
- Milo
- Nette Core | 1119
Dobrá, to už je lepší. Ale pokud budeš mít 50 zápasů, to chceš pro každý zápas vykreslit formulář, nebo chceš jen pro nějaký konkrétní?
Pokud to děláš v Nette, princip takto. Ale to už je spíš dotaz na Nette fórum kde se to probíralo X-krát.
function createComponentForm()
{
$teams = dibi::fetchPairs('SELECT id, nazev FROM system_tymy');
$form = new UI\Form;
$form
->addSelect('id_domacihotymu', 'Domácí', $teams);
->addSelect('id_hostujicihotymu', 'Hosté', $teams);
->addInput('cas', 'Čas')
->addInput('misto', 'Místo')
->addHidden('id', NULL);
return $form;
}
function actionEdit($id)
{
$this['form']->setDefaults(dibi::fetch('SELECT * FROM system_terminy_zapasu WHERE id = %i', $id);
}
Editoval Milo (17. 7. 2012 14:50)