Naplneni tabulky z databaze
- Popik
- Člen | 30
Ahoj, chtěl bych Vás prosím požádat o radu jak nejlépe na to. V presenteru bych chtěl předat proměnné $listIP pole, které by obsahovalo id a k nemu prislusnou IP adresu. V Sablone bych pomoci foreach prosel toto pole a vytvoril radek v tabulce a to tak, ze v jendom sloupci by byla IP adresa a druhem odkaz „smazat“ do ktereho by se vlozilo prislusne ‚id‘ zaznamu z tabulky ktere prislusi vedlejsi ip.
Data v modelu ctu takto:
<?php
.
.
.
public function getlistIP() {
return dibi::query('SELECT * FROM control')->fetchAssoc('id');
}
?>
Presenter vypada takto:
<?php
public function renderDefault() {
$control = new ControlModel();
$this->template->listIP = $control->getlistIP();
?>
No a v sablone bych rad nejak ziskal z toho pole tedy id a k nemu prislusne IP. Akorat nevim jak na to.
Koukal jsem na QuickStart a tam dokonce pouzivaji nejake prirazeni dat tride pomoci ->setRowClass, ale toto jsem vůbec nepochopil.
Díky za rady.
- Honza Kuchař
- Člen | 1662
<bla>
{foreach $listIP AS $row}
<kuk>
{$row["ip"]}
</kuk>
<a href="{link smazat!}">Smazat!</a>
{/foreach}
</bla>
je to takový hodně pseudo kód, ale princip to vystihuje…
Editoval honzakuchar (14. 4. 2010 21:45)
- Ondřej Mirtes
- Člen | 1536
Upravil bych to volání signálu, abys tam předával ten parametr (jinak to nepoběží) :)
{foreach $listIP AS $id=>$row}
<kuk>
{$row["ip"]}
</kuk>
<a href="{link smazat! $id}">Smazat!</a>
{/foreach}
A v Presenter bys měl mít tuto metodu:
public function handleSmazat($id) {
//volání modelu - smazání položky
$this->flashMessage('Položka úspěšně smazána!');
$this->redirect('this'); //přesměrování - mění se stav serveru, je to nutné
}