Października
17
2006

Jak: Konfigurowanie MySQL rekordów jako tablicę być analizowany przez Smarty

Oto przykład jak skonfigurować zapytania MySQL, dzięki czemu można je łatwo przeszedł i przetwarzane przez Smarty.

Zestaw wyników będzie wielowymiarowa tablica. Pierwszy wymiar tablicy jest numeryczna i reprezentuje każdy wiersz zestawu wyników. Drugi wymiar tablicy jest tablicą asocjacyjną, gdzie nazwy indeksów są nazwy pól, które podałeś w zapytaniu.

Kod:
/ / Init tablicę do przechowywania wyników
$ Wyniki = array ();

/ / Spróbuj połączyć się z DB
$ Mysql = mysql_connect ($ host, $ user, $ password) or die ('Nie można się połączyć:'. Mysql_error ());

/ / Konfiguracja SQL
$ Sql ​​= 'SELECT nazwa SQL_CALC_FOUND_ROWS, adres, miasto, województwo, kod FROM users';

/ / Uruchomienie kwerendy
$ Wynik = mysql_query ($ sql, $ mysql);

/ / Pobierz wyniki w postaci tablicy asocjacyjnej i umieścić każdy wiersz do tablicy indeksowanej numerycznie
while ($ row = mysql_fetch_assoc ($ myresult))
$ Wyniki [] = $ row;

/ / Teraz mamy skonfigurować kwerendę, aby uzyskać liczbę wyników, które zostały zwrócone
$ Sql ​​= 'SELECT FOUND_ROWS () jako foundrows ";

/ / Uruchomienie kwerendy
$ Wynik = mysql_query ($ sql, $ mysql);

/ / Przechowaj wiersz wynikowy
$ Row = mysql_fetch_assoc ($ wynik);

/ / Pobierz całkowite wiersze
$ Total = $ row ['foundrows'];

/ / Przypisz wyniki do smarty
$ Smarty-> assign ('wyniki', $ wyniki);
$ Smarty-> assign ('total', $ total);

/ / Wyświetl Smarty szablon
$ Smarty-> display ('index.tpl');

Twój resultset powinien wyglądać mniej więcej tak:

Kod:
Array (2)
0 => Array (5)
name => John Doe
adres => 123 Anonimowy Way
miasto => Springfield
stan => IL
zip => 62707
1 => Array (5)
name => Jane Doe
adres => 777 Way Luxury
miasto => Beverly Hills
stan => CA
zip => 90210

A oto przykład użycia {section} analizować wyniki

Kod:
Wyświetlanie {$ total} rekordy: <br />
{Nazwa sekcja = nr loop = $ wyniki}
{$ Wyniki [nr]. Nazwa}
{$ Wyniki [nr]. Adres}
{$ Wyniki [nr]. City}
{$ Wyniki [nr]. Stan}
{$ Wyniki [nr]. Zip} <br />
{Sectionelse}
<h1> Brak wyników </ h1>
{/ Section}

tags: , ,
pisał w Przewodników , Programowanie przez Owen

Śledzić komentarze poprzez kanał RSS | Leave a comment | Trackback URL

Zostaw komentarz

 
© 2008 - 2012 - All Rights Reserved - Ideamesh, Inc 22 zapytaniami. 0,562 sekundy.