Requete SQL dans un array pour Smarty

nzangel Messages postés 3 Date d'inscription mardi 9 mai 2006 Statut Membre Dernière intervention 7 février 2009 - 7 févr. 2009 à 09:43
jelloule Messages postés 1 Date d'inscription vendredi 11 janvier 2008 Statut Membre Dernière intervention 1 mars 2009 - 1 mars 2009 à 02:07
Bonjour,

J'essais de me mettre au PHP et à Smarty mais voila mon problème.

Pour mon menu j'ai fait une requête SQL :

$sql = mysql_query ('SELECT titre,lien FROM site_menu');
$titre_menu = array();
$lien_menu = array();
while ( $row=mysql_fetch_object($sql))
{
$titre_menu[] = $row->titre;
$lien_menu[] = $row->lien;
}
$smarty_menu->assign('titre_menu',    $titre_menu);
$smarty_menu->assign('lien_menu',    $lien_menu);

lorsque j'affiche $titre_menu et $lien_menu tout fonctionne.

mais pour mon template il me faut quelque chose comme ça (si j'ai bien compris) :

{section name=i loop=$row}
 { $row[i].titre }

 {/section}

je pensais donc qu'en récupérant la variable $row dans mon fichier PHP tout foncionnerait j'ai donc ajouté la ligne suivante :
$smarty_menu->assign('row',    $row);

mais rien ne s'affiche. Je pense que le problème vient de ma requête dans ma page PHP. Comment je peux faire pour récupérer titre et lien de ma requête SQL et tout mettre dans une variable ?

merci d'avance

1 réponse

jelloule Messages postés 1 Date d'inscription vendredi 11 janvier 2008 Statut Membre Dernière intervention 1 mars 2009
1 mars 2009 à 02:07
bonsoir ;

une petite solution à votre pb avec un tableau associatife :
coté php:
$sql = mysql_query ('SELECT titre,lien FROM site_menu');
$rs=array();
while ( $row=mysql_fetch_array($sql,MYSQL_ASSOC))
{
array_push($rs, $row);
}

$smarty_menu->assign('H_LIEN',    $rs);

coté template:

{section name=id loop=$H_LIEN}
         [{$H_LIEN[id].lien} {$H_LIEN[id].titre}]        
     {/section}
j'espère que sa va vous aider.
jelloule
0
Rejoignez-nous