Naplneni tabulky z databaze

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Popik
Člen | 30
+
0
-

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
+
0
-
<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
+
0
-

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é
}
Honza Kuchař
Člen | 1662
+
0
-

Díky za dokreslení situace. ;-)

Popik
Člen | 30
+
0
-

Díky moc. To je přesně ono.