Nette 2.1 – editace dat z databáze
- motorcb
- Člen | 552
Zdravím,
mám v databázi desítky dat (3 sloupečky: id, turnaj, uzivatel, pocet_bodu).
Jak byste doporučili vytvořit editační formulář, který by měl za úkol načíst a zobrazit seznam uživatelů a ke každému uživateli počet bodů?
Nemůžu před uložením celou tabulku smazat a data po uložení znovu uložit ale potřebuji data updatetovat. Uživatel stejného názvu může být v databázi víckrát a proto ho musím identifikovat jeho ID.
Používám takoéto řešení kdy po odeslání parsuju data a ze kterych ziskam ID vysledku pro editaci. Ale nepřijde mi to správná cesta.
foreach ( $vysledky as $vysledek )
{
$form->addText( "{$vysledek->id_user}", 'Uživatel:' )
->setValue( $vysledek->uzivatel );
$form->addText( "{$vysledek->id_pocet_bodu}", 'Bodů:' )
->setValue( $vysledek->pocet_bodu );
}
Znáte někdo lepší způsob? V Nette 2.1 byly velké změny ve formulářích, nebylo přidáno něco co by mi ulohčilo muj problom?
Díky
Editoval motorcb (5. 1. 2014 20:35)
- sKopheK
- Člen | 207
Není tohle spíš otázka k databázi?
Já bych to řešil zparsováním dat z formuláře v jednom cyklu (např. pts[id_user] = [ …, … ]) a pak postupně po uživatelích procházel a updatoval, přidával, nebo mazal záznamy. Jinak proč nemůžeš data k jednomu turnaji smazat a pak přidávat, když to celé dáš do transakce (pokud tedy používáš InnoDB)?
- David Matějka
- Moderator | 6445
@motorcb: container
$container = $form->addContainer('pst');
for( $i = 0; $i<10; $i++)
{
$container->addText( $i, 'Pořadí:' );
}
- David Matějka
- Moderator | 6445
@motorcb: kontejnery muzes zanorovat, nebo pouzij https://componette.org/search/?…