Loading:

Zaplanuj Przeprowadzke - Ściągnij Darmową Aplikację na Androida

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]}

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

Napisz Artykuł

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>



Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=4&t=41

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: igor
Ranga: Administrator serwisu Punktów: 28716
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


    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-17 v.1.5 | design: diviXdesign & rainbowcolors