IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[Smarty] Problème de boucle


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 10
    Par défaut [Smarty] Problème de boucle
    Bonjour, j'utilise un système de module et composant et j'arrive à afficher
    seulement le premier module ou composant mais les autres ne s'affiche pas.
    J'en déduit que je dois avoir un problème de boucle car pour la suite j'utilise la variable $i++;


    Code php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    $composant = array();
     
    $resultat = mysql_query("SELECT id, type, acces, niveau, tniveau, etat, nom, accueil, place, page, config FROM me_plugin WHERE type='composant' AND niveau>='".$s_niveau."' AND niveau!='1' AND etat='1' AND place!='page'") or die('<div id="msg-r">Un probl&egrave;me est survenu. Veuillez r&eacute;esayer</div>');
     
    	$i = 0;
    	if($i!=0 && $i%3==0) { echo "</tr> \n"; }
    	if($i!=0 && $i%3==0) { echo "<tr> \n"; }
    	while($temp = mysql_fetch_array($resultat))
    	{
    		$composant[$i++] = array( 
    					'ID' => $temp[0],
    					'TYPE' => $temp[1],
    					'ACCES' => $temp[2],
    					'NIVEAU' => $temp[3],
    					'TNIVEAU' => $temp[4],
    					'ETAT' => $temp[5],
    					'NOM' => $temp[6],
    					'ACCUEIL' => $temp[7],
    					'PLACE' => $temp[8],
    					'PAGE' => $temp[9],
    					'CONFIG' => $temp[10]
              );
     
            }
     
            $smarty->assign('COMPOSANT', $composant);
    		$smarty->display("$theme/compte.tpl");
    Code tpl

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    {foreach from=$COMPOSANT item=composant}
        <td id="imag"> <img width="48" src="plugins/composants/{$composant.ACCES}/logo.png" /> </td>
        <td> <a href="?page=composant&id={$composant.ACCES}">{$composant.NOM}</a> </td>
    	{/foreach}
    Je n'arrive pas à comprendre mon erreur si une personne pouvait m'éclairer.

  2. #2
    Membre émérite
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Par défaut
    Bonjour,

    essayes comme ça :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
     
    while($temp = mysql_fetch_array($resultat))
    	{
    		$composant[$i] = array( 
    					'ID' => $temp[0],
    					'TYPE' => $temp[1],
    					'ACCES' => $temp[2],
    					'NIVEAU' => $temp[3],
    					'TNIVEAU' => $temp[4],
    					'ETAT' => $temp[5],
    					'NOM' => $temp[6],
    					'ACCUEIL' => $temp[7],
    					'PLACE' => $temp[8],
    					'PAGE' => $temp[9],
    					'CONFIG' => $temp[10]
              );
    $i++;
    }

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 10
    Par défaut Idem
    Bonjour, merci de ton aide.
    J'ai essayé le code que tu m'as donné mais il n y a aucun changement, j'ai toujours le premier module ou composant qui s'affiche, je pense plutôt à un problème au niveau du tpl.
    Voilà le code php d'affichage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <td>
    	<table id="bloci" border="0" cellpadding="0" cellspacing="0">
        <tr>
        <td id="imag"> <img width="48" src="<?php echo "$a_composant/".$rowc['acces']; ?>/logo.png" /> </td>
        <td> <a href="?page=composant&id=<?php echo $rowc['acces']; ?>"><?php echo __($rowc['nom']); ?></a> </td>
        </tr>
        </table>
    </td>
     
    <?php
    $i++;
    }
    ?>
    </tr>
    Et voiçi le code d'affichage en .tpl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <td>
     
    	<table id="bloci" border="0" cellpadding="0" cellspacing="0">
        <tr>
    	{foreach from=$COMPOSANT item=composant}
        <td id="imag"> <img width="48" src="plugins/composants/{$composant.ACCES}/logo.png" /> </td>
        <td> <a href="?page=composant&id={$composant.ACCES}">{$composant.NOM}</a> </td>
    	{/foreach}
        </tr>
        </table>
    </td>
    //je dois récupérer ici la variable $i++ mais comment?
    </tr>

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 10
    Par défaut Résolu
    J'ai déplacé les foreach comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <table border="0" cellpadding="0" cellspacing="0">
    <tr>
    {foreach from=$COMPOSANT item=composant}
    <td>
    <table id="bloci" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td id="imag"> <img width="48" src="plugins/composants/{$composant.ACCES}/logo.png" /> </td>
    <td> <a href="?page=composant&id={$composant.ACCES}">{$composant.NOM}</a> </td>
    </tr>
    </table>
    </td>
    {/foreach}
    </tr>
    </table>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Smarty] Probléme dans boucle {section}
    Par abousa3d dans le forum Bibliothèques et frameworks
    Réponses: 11
    Dernier message: 06/05/2010, 10h10
  2. [Smarty] Problème de boucle MySQL sous Smarty
    Par slaxsystem dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 29/04/2007, 17h28
  3. Problème de boucle
    Par TheUltimaSephiroth dans le forum C
    Réponses: 8
    Dernier message: 10/10/2005, 13h58
  4. Problème de boucle
    Par Louis-Guillaume Morand dans le forum Langage SQL
    Réponses: 3
    Dernier message: 25/09/2005, 09h10
  5. Problème de boucle
    Par basclln dans le forum C++
    Réponses: 19
    Dernier message: 02/04/2005, 09h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo