Octobre
17
2006

Comment: Mise en place MySQL enregistrements sous forme de tableau à être analysé par Smarty

Voici un exemple de la façon de configurer vos requêtes MySQL afin qu'ils puissent facilement être passé dans et analysées par Smarty.

Le résultat sera un tableau multidimensionnel. La première dimension du tableau est numérique et représente chaque ligne de votre jeu de résultats. La deuxième dimension du tableau est un tableau associatif où les noms des indices sont les noms des champs que vous avez spécifiés dans votre requête.

Code:
/ / Initialisation du tableau pour stocker les résultats
$ Results = array ();

/ / Essayez de vous connecter à la DB
$ Mysql = mysql_connect ($ host, $ user, $ password) or die ("Impossible de se connecter: '. Mysql_error ());

/ / Configuration de l'instruction SQL
$ Sql ​​= "SELECT SQL_CALC_FOUND_ROWS nom, adresse, ville, état, code postal DE utilisateurs;

/ / Exécution de la requête
$ Result = mysql_query ($ sql, $ mysql);

/ / Obtenir des résultats dans un tableau associatif et de mettre chaque ligne dans le tableau indexé numériquement
while ($ row = mysql_fetch_assoc ($ myResult))
$ Results [] = $ row;

/ / Maintenant on nous mis en place la requête pour obtenir le nombre de résultats qui ont été retournés
$ Sql ​​= "SELECT FOUND_ROWS () comme foundrows ';

/ / Exécution de la requête
$ Result = mysql_query ($ sql, $ mysql);

/ / Stocker la ligne résultant
$ Row = mysql_fetch_assoc ($ result);

/ / Obtenir les lignes au total
$ Total = $ row ['foundrows'];

/ / Affecter les résultats à smarty
$ Smarty-> assign ('résultats', $ results);
$ Smarty-> assign ('total', $ total);

/ / Afficher le template Smarty
$ Smarty-> display ('index.tpl');

Votre jeu de résultats devrait ressembler à ceci:

Code:
Array (2)
0 => Array (5)
name => John Doe
adresse => 123 de façon anonyme
ville => Springfield
Etat => IL
zip => 62707
1 => Array (5)
name => Jane Doe
adresse => 777 Chemin de luxe
ville => Beverly Hills
Etat => CA
zip => 90210

Et voici un exemple avec {section} pour analyser les résultats

Code:
Affichage {$ total} dossiers: <br />
{Section name = nr = $ results boucle}
{$ Results [nr]. Name}
{$ Results [nr]. Address}
{$ Results [nr]. Ville}
{$ Results [nr]. État}
{$ Results [nr]. Zip} <br />
{} Sectionelse
<h1> Aucun résultat trouvé! </ h1>
{/ Section}

tags: , ,
a écrit dans les guides , Programmation par Owen

Suivez les commentaires via le flux RSS | Ajouter un commentaire | Trackback URL

Laissez votre commentaire

© 2008 - 2012 - Tous droits réservés - Ideamesh, Inc 22 requêtes. 0,258 seconde.