Loading:


    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>





    Dodano przez: igor
    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


      • 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-2025 v.1.5 | design: diviXdesign & rainbowcolors