|
Smarty
WARNING: All discussion is moving to https://reddit.com/r/smarty, please go there! This forum will be closing soon. |
|
View previous topic :: View next topic |
Author |
Message |
nzangel Smarty n00b
Joined: 05 Feb 2009 Posts: 2
|
Posted: Thu Feb 05, 2009 10:29 pm Post subject: Loop avec 2 variables ? |
|
|
Bonjour,
J'essais de me mettre au PHP et aussi à Smarty mais j'ai un peu de mal et j'aimerais un peu d'aide.
Je voudrais faire un menu.
J'ai ma page PHP :
Code: | $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;
} |
et ma page tpl :
Code: | {section name=smarty_tableau loop=$titre_menu}
<a hre="{ $lien_menu[smarty_tableau] }">{ $titre_menu[smarty_tableau] }<br />
{/section} |
Je voulais savoir si je pouvais ajouter $lien_menu dans loop= si je ne peux pas comment devrais je m'y prendre ?
merci d'avance |
|
Back to top |
|
samsolomon Smarty Rookie
Joined: 02 Feb 2009 Posts: 6 Location: Chennai, India
|
Posted: Fri Feb 06, 2009 10:24 am Post subject: Salut |
|
|
Bonjour,
Je donne quelques corrections dans votre code. Si vous faites cela, il va sûrement travailler.
Je ne sais pas le français. Je traduis mon anglais en français en utilisant google. Si elle ne fonctionne pas s'il vous plaît donner de brèves explications à vos besoins. Je suis ici pour clarifier vos besoins ...
Code:
Fichier PHP:
$ Sql_query = mysql_query ( "SELECT titre, lien DE site_menu ');
$ result_query = mysql_fetch_array ($ sql_query);
$ Titre_menu = array ();
$ Lien_menu = array ();
while ($ row = mysql_fetch_object ($ sql))
(
$ Titre_menu [] = $ row-> title;
$ Lien_menu [] = $ row-> link;
)
TPL dossier:
(section name = i loop = $ content)
<a href = "($ content [i]. link) "> ($ content [i]. title) </ a>
(/ section)
Votre's
Sam... |
|
Back to top |
|
samsolomon Smarty Rookie
Joined: 02 Feb 2009 Posts: 6 Location: Chennai, India
|
Posted: Fri Feb 06, 2009 10:29 am Post subject: Salut |
|
|
Vous n'avez pas besoin de pousser les résultats dans le tableau. c'est-à-dire tout en boucle (vous appuyez sur les enregistrements sélectionnés dans la gamme). Il n'est pas nécessaire. |
|
Back to top |
|
nzangel Smarty n00b
Joined: 05 Feb 2009 Posts: 2
|
Posted: Fri Feb 06, 2009 6:52 pm Post subject: |
|
|
merci d'avoir répondu.
mais je n'arrive pas à faire fonctionner votre code. J'ai modifié les quelques erreurs (je pense) du à la traduction google mais rien ne sort de la requête.
Voici se que j'ai fait en fonction de votre code :
Quote: | $sql_query = mysql_query ('SELECT titre, lien FROM site_menu ');
$result_query = mysql_fetch_array ($sql_query);
$Titre_menu = array();
$Lien_menu = array();
while ($row = mysql_fetch_object ($result_query))
{
$Titre_menu [] = $row-> titre;
$Lien_menu [] = $row-> lien;
} |
pour le tpl :
Code: | {section name=i loop=$row}
<a hre="{ $row[i].lien }">{ $row[i].titre }<br />
{/section} |
mais rien ne s'affiche j'ai même un message d'erreur |
|
Back to top |
|
samsolomon Smarty Rookie
Joined: 02 Feb 2009 Posts: 6 Location: Chennai, India
|
Posted: Sat Feb 07, 2009 4:48 am Post subject: hi |
|
|
Le code suivant donne à vos besoins ...
PHP dossier:
$ Sql_query = "SELECT titre, lien DE site_menu ';
$ result_query = ExecuteQuery ($ sql_query,”select”);
TPL dossier:
(section name = i loop = $ content)
<a href = "($ content [i]. link) "> ($ content [i]. title) </ a>
(/ section)
function ExecuteQuery($Query, $Qrytype)
{
if(!empty($Query) && !empty($Qrytype))
{
switch(strtolower($Qrytype))
{
case "select":
$Result = mysql_query($Query) or die("Error in Selection Query <br> ".$Query."<br>". mysql_error());
if($Result)
{
$ResultSet = array();
while($ResultSet1 = mysql_fetch_array($Result))
$ResultSet[] = $ResultSet1;
return $ResultSet;
}
else return false;
break;
case "update":
$Result = mysql_query($Query) or die("Error in Updation Query <br> ".$Query."<br>". mysql_error());
if($Result)
{
$AffectedNums = mysql_affected_rows();
return $AffectedNums;
}
else return false;
break;
case "insert":
$Result = mysql_query($Query) or die("Error in Insertion Query <br> ".$Query."<br>". mysql_error());
if($Result)
{
$LastInsertedRow = mysql_insert_id();
return $LastInsertedRow;
}
else return false;
break;
case "delete":
$Result = mysql_query($Query) or die("Error in Deletion Query <br> ".$Query."<br>". mysql_error());
if($Result)
return true;
else
return false;
}
}
}
Sam... |
|
Back to top |
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|