PHP Nette - jak upravit data z databáze před odesláním do šablony

PHP Nette - jak upravit data z databáze před odesláním do šablony

Ahoj, jsem úplný začátečník s PHP Nette, prošel jsem celý návod jak udělat jednoduchý web, to mi funguje. Ten návod ale neřeší jak postupovat, když potřebuji data z databáze upravit před odesláním do latte šablony. Nevím jak to udělat a jak vlastně správně postupovat. Poradíte někdo jak ty data z databáze před odesláním upravit? Díky

ODPOVĚĎ


Ahoj,



níže nalezneš základní PHP kostru pro Nette (jedna z mnoha), kdy můžeš data z databáze před odesláním do šablony Latte libovolně upravovat.



Správně bys ty data měl upravovat v modelu, ale pro zjednodušení to uděláme v presenteru.



Popis principu:

Všechna data z tabulky načteš v presenteru/modelu do pole a to pole rovnou zpracuješ cyklem foreach a upravíš hodnoty jak potřebuješ (použival jsi určite doposud při výpisu z MySQL databáze běžně). Pole s daty až pak posíláš do šablony latte a tam je projedeš zase cyklem foreach při vypsání.


public function renderDetail($id)
{
//nacist vsechny zaznamy z databaze do pole
$zaznamy = $this->database->fetchAll('SELECT * FROM tabulka');

//upravit data
foreach ($zaznamy as $id => $row)
{
//ulozeni vystupu do pole
$zaznamyArr[] = (object) [
'nazev' => $row['nazev'],
'popis' => $row['popis'],
'castka' => $row['castka'],
'dastkaDPH' => $row['castka'] * 1.21,
'datum' => $row['datum'],
];

}

// poslat upravena data do sablony:
$this->template->zaznamy = $zaznamyArr;

}

Komentáře

Vaše reakce na PHP Nette - jak upravit data z databáze před odesláním do šablony

Reference

Podívejte se na naše reference

Prohlédnout

Aplikace

Podívejte se na naše aplikace

Prohlédnout

Co umíme?

Podívejte se co umíme

Prohlédnout

Co umíme?

Vytváříme sofistikované aplikace pro náročné

Od webových aplikací přes android až po převodové můstky či složité informační systémy.

Podívejte se k nám

Máte ještě čas? Podívejte se na další rubriky

Tento web používá soubory cookie. Dalším procházením tohoto webu vyjadřujete souhlas s jejich používáním.. Více informací zde.