Kurs Smarty dla początkujących
PETLA SECTION W SMARTY
Zastosowanie tej pętli pokażemy w nieco większym przykładzie, połączymy PHP, bazę SQL ze smarty.
Listing 1.4 przedstawia kod do tego przykładu.
Na początku tworzymy tabelę w bazie danych o nazwie smarty, zawiera ona 2 kolumny imie i nazwisko potem wypełniamy ją przykładowymi danymi.
Następnie plik index.php łączy się z baza poprzez funkcje lacz_bd którą tworzymy na jego początku.
Linie
$zapytanie = "select * from smarty";
$wynik = $db->query($zapytanie);
pobierają nam rekordy z bazy.
$ile_znalezionych = $wynik->num_rows; pobiera ilość wyników
for ($i=0; $i <$ile_znalezionych; $i++) to pętla php która umieszcza wyniki w tablicach $imie i $nazwisko
$imie[] = $wiersz['imie'];
$nazwisko[] = $wiersz['nazwisko'];
W ciągu każdej iteracji do tablicy $imie[] i $nazwisko[] dodawane są rekordy z bazy.
W liniach
$smarty->assign("imie",$imie);
$smarty->assign("nazwisko",$nazwisko);
Wysyłamy wcześniej stworzone tablice do szablonu smarty
Teraz coś o pliku index.tpl
{section name=pracownicy loop=$imie}
Tworzy pętle o nazwie pracownicy, dla loop możemy użyć tablicy $imie lub $nazwisko to obojętne ponieważ zakładamy ze obie mają tyle samo pozycji.
Linie
{$imie[pracownicy]} i {$nazwisko[pracownicy]}
Zastosowanie tej pętli pokażemy w nieco większym przykładzie, połączymy PHP, bazę SQL ze smarty.
Listing 1.4 przedstawia kod do tego przykładu.
Na początku tworzymy tabelę w bazie danych o nazwie smarty, zawiera ona 2 kolumny imie i nazwisko potem wypełniamy ją przykładowymi danymi.
Następnie plik index.php łączy się z baza poprzez funkcje lacz_bd którą tworzymy na jego początku.
Linie
$zapytanie = "select * from smarty";
$wynik = $db->query($zapytanie);
pobierają nam rekordy z bazy.
$ile_znalezionych = $wynik->num_rows; pobiera ilość wyników
for ($i=0; $i <$ile_znalezionych; $i++) to pętla php która umieszcza wyniki w tablicach $imie i $nazwisko
$imie[] = $wiersz['imie'];
$nazwisko[] = $wiersz['nazwisko'];
W ciągu każdej iteracji do tablicy $imie[] i $nazwisko[] dodawane są rekordy z bazy.
W liniach
$smarty->assign("imie",$imie);
$smarty->assign("nazwisko",$nazwisko);
Wysyłamy wcześniej stworzone tablice do szablonu smarty
Teraz coś o pliku index.tpl
{section name=pracownicy loop=$imie}
Tworzy pętle o nazwie pracownicy, dla loop możemy użyć tablicy $imie lub $nazwisko to obojętne ponieważ zakładamy ze obie mają tyle samo pozycji.
Linie
{$imie[pracownicy]} i {$nazwisko[pracownicy]}
wyciągają z tablic dane w tym przypadku imie i nazwisko podczas każdej iteracji pętli pracownicy
Dalsza czê¶æ:
1
2
3
4
5
6
7
8
Listing
// LISTING 1.4
// Kod do utworzenia bazy
UWAGA w miejsce nazwa_bazy należy wpisać nazwę swojej bazy.
CREATE TABLE `nazwa_bazy`.`smarty` (
`imie` VARCHAR( 20 ) NOT NULL ,
`nazwisko` VARCHAR( 20 ) NOT NULL
) ENGINE = MYISAM
INSERT INTO `nazwa_bazy`.`smarty` (
`imie` ,
`nazwisko`
)
VALUES
('Jan', 'Nowak'),
('Iwona', 'Kowalska'),
('Marian', 'Las'),
('Anna', 'Pad');
// Kod pliku index.php
include ("libs/Smarty.class.php");
$smarty = new Smarty();
function lacz_bd()
{
$db = new mysqli('localhost', 'uzytkownik', 'haslo', 'nazwa_bazy');
if (! $db)
return false;
$db->autocommit(TRUE);
return $db;
}
$db = lacz_bd();
$zapytanie = "select * from smarty";
$wynik = $db->query($zapytanie);
$ile_znalezionych = $wynik->num_rows;
for ($i=0; $i <$ile_znalezionych; $i++)
{
$wiersz = $wynik->fetch_assoc();
$imie[] = $wiersz['imie'];
$nazwisko[] = $wiersz['nazwisko'];
}
$smarty->assign("imie",$imie);
$smarty->assign("nazwisko",$nazwisko);
$smarty->display("index.tpl");
// Kod pliku index.tpl
<html>
<body>
{section name=pracownicy loop=$imie}
{$imie[pracownicy]} {$nazwisko[pracownicy]} <br />
{/section}
</body>
</html>
Dodano przez: igor
Ranga: Administrator serwisu Punktów: 0
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
kurs bardzo biedny ale stronka zapowiada sie bardzo fajnie :D
autor: pepe_bombiarz | 19 | 2008-12-23 14:26:43
To kurs dla początkujących, jeśli napiszesz dla zaawansowanych to będziemy wdzięczni.
autor: Igor | 20 | 2008-12-24 13:22:28
Jak dla mnie super!!! Na początek wystarcza - a wiadomo, że najtrudniej zacząć. Nie mogłam załapać jak rozdzielać kod, tu jest to fajnie pokazane. DZIĘKI!!!
autor: Meg | 52 | 2009-01-19 20:20:46
Panowie zapomnieli dodać zaznacznika ?> na końcu kodu php :)
autor: michalszz | 497 | 2009-09-06 22:46:08
:: Losowe artykuły
:: Wymiana linków
Modowe inspiracje |
Android Gry i Aplikacje |
ZaplanujTransport.pl: Przeprowadzki, transport, aukcje |
Logo dla firmy |
Change Tires - Car Weather Forecast Reminder |
Laminas: MVC Framework for PHP |
IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS |
Katalog roślin |
Programming articles: JAVA, PHP, C++, Python, JavaScript |
Kancelaria Adwokacka Łukasz Huszno