Oktober
17
2006

Gewusst wie: Einrichten von MySQL Recordset als Array von Smarty geparst werden soll

Hier ist ein Beispiel, wie Sie Ihre MySQL-Abfragen einrichten, so dass sie leicht in weitergegeben und analysiert von Smarty.

Die Ergebnismenge wird ein mehrdimensionales Array sein. Die erste Dimension des Arrays ist numerisch und stellt jede Zeile Ihrer Ergebnismenge. Die zweite Dimension des Array ist ein assoziatives Array, in dem die Namen der Indizes werden die Feldnamen Sie in Ihrer Abfrage angegeben.

Code:
/ / Das Array Init um die Ergebnisse zu halten
$ Results = array ();

/ / Versuchen Sie, auf die DB verbinden
$ Mysql = mysql_connect ($ host, $ user, $ password) or die ('Keine Verbindung möglich:'. Mysql_error ());

/ / Setup die SQL-Anweisung
$ Sql ​​= 'SELECT SQL_CALC_FOUND_ROWS Name, Adresse, Stadt, Bundesstaat, Postleitzahl aus Anwendersicht;

/ / Führen Sie die Abfrage
$ Result = mysql_query ($ sql, $ mysql);

/ / Holen Sie sich die Ergebnisse als assoziatives Array und stellen jede Zeile in die numerisch indiziertes Array
while ($ row = mysql_fetch_assoc ($ MyResult))
$ Results [] = $ row;

/ / Jetzt wir aufstehen die Abfrage gesetzt, die Anzahl der Ergebnisse, die zurückgegeben wurden erhalten
$ Sql ​​= 'SELECT FOUND_ROWS () als foundrows';

/ / Führen Sie die Abfrage
$ Result = mysql_query ($ sql, $ mysql);

/ / Speichere die resultierende Zeile
$ Row = mysql_fetch_assoc ($ result);

/ / Holen Sie sich die Gesamtzahl der Zeilen
$ Gesamt = $ row ['foundrows'];

/ / Legt die Ergebnisse zu smarty
$ Smarty-> assign ('Ergebnisse', $ results);
$ Smarty-> assign ('total', $ gesamt);

/ / Anzeige des Smarty Template
$ Smarty-> display ('index.tpl');

Ihre ResultSet sollte etwa so aussehen:

Code:
Array (2)
0 => array (5)
name => John Doe
Adresse => 123 anonym
Stadt => Springfield
Staat => IL
zip => 62707
1 => Array (5)
name => Jane Doe
Adresse => 777 Luxus-Way
Stadt => Beverly Hills
Staat => CA
zip => 90210

Und hier ist ein Beispiel mit {section}, um die Ergebnisse zu analysieren

Code:
Angezeigte {$ total} Einträge: <br />
{Section name = nr loop = $ Ergebnisse}
{$ Results [NR]. Name}
{$ Results [NR]. Adresse}
{$ Results [NR]. City}
{$ Results [NR]. Zustand}
{$ Results [NR]. Zip} <br />
{} Sectionelse
<h1> Keine Ergebnisse gefunden! </ h1>
{/ Section}

tags: , ,
posted in Guides , Programmierung von Owen

Folgen Sie Anmerkungen über den RSS-Feed | Kommentar schreiben | Trackback-URL

Lassen Sie Ihren Kommentar

 
© 2008 - 2012 - Alle Rechte vorbehalten - Ideamesh, Inc. 22 Zugriffen. 0,272 Sekunden.