Oktober
17
2006

Hur: Konfigurera MySQL recordset som array som skall tolkas av Smarty

Här är ett exempel på hur man ställer in dina MySQL frågor så att de kan lätt föras in i och tolkas av Smarty.

Resultatet set kommer att bli en flerdimensionell array. Den första dimensionen i matrisen är numerisk och representerar varje rad av din resultatet. Den andra dimensionen i matrisen är en associativ array där namnen på de index som är fältnamnen du angav i din fråga.

Kod:
/ / Init arrayen för att hålla resultatet
$ Resultat = array ();

/ / Försök att ansluta till DB
$ Mysql = mysql_connect ($ host, $ user, $ password) or die ('Kunde inte ansluta:'. Mysql_error ());

/ / Setup SQL-satsen
$ Sql ​​= 'SELECT SQL_CALC_FOUND_ROWS namn, adress, ort, stat, zip Från användare';

/ / Kör frågan
$ Result = mysql_query ($ sql, $ mysql);

/ / Hämta resultaten som en associativ array och sätta varje rad i numerärt indexerad array
while ($ row = mysql_fetch_assoc ($ myresult))
$ Resultat [] = $ rad;

/ / Nu får vi ställa in frågan för att få antalet resultat som returneras
$ Sql ​​= 'SELECT FOUND_ROWS () som foundrows';

/ / Kör frågan
$ Result = mysql_query ($ sql, $ mysql);

/ / Lagra resultatet raden
$ Rad = mysql_fetch_assoc ($ result);

/ / Hämta den totala raderna
$ Total = $ rad ['foundrows'];

/ / Tilldela resultatet till Smarty
$ Smarty-> Tilldela (resultat ', $ resultat);
$ Smarty-> Tilldela ("total", $ totalt);

/ / Visa Smarty mallen
$ Smarty-> display (index.tpl ');

Din ResultSet bör se ut ungefär så här:

Kod:
Array (2)
0 => Array (5)
name => John Doe
adress => 123 Anonymous Way
Staden => Springfield
state => IL
zip => 62.707
1 => Array (5)
name => Jane Doe
adress => 777 Luxury Way
Staden => Beverly Hills
state => CA
zip => 90.210

Och här är ett exempel på att använda {avsnitt} för att analysera resultaten

Kod:
Visar {$ total} poster: <br />
{Avsnitt namn = nr loop = $ resultat}
{$ Resultat [NR]. Namn}
{$ Resultat [NR]. Adress}
{$ Resultat [NR]. City}
{$ Resultat [NR]. Staten}
{$ Resultat [NR]. Zip} <br />
{Sectionelse}
<h1> Inga resultat hittades </ h1>
{/ Sektion}

tags: , ,
postat i Guider , programmering med Owen

Följ kommentarer via RSS Feed | Lämna en kommentar | Trackback URL

Lämna din kommentar

© 2008 - 2012 - All Rights Reserved - Ideamesh, Inc. 22 frågor. 0,234 sekunder.