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 avec un compteur d'éléments


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut [Smarty] probléme avec un compteur d'éléments
    Bonjour, je rencontre actuellement un petit souci avec un compteur.
    J'ai créer une fonction pour compter les éléments contenu dans ma requête afin de mettre un numéro sur chaque éléments pour un souci d'affichage .
    Cependant ma boucle m'indique toujours 1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
       // $nbrId est la requête pour afficher mes éléments
    function counterPartenaires(){
    		$nbrId = dbPartenaires::selectPartBySector();
    		for($i=1; $i<=count($nbrId); $i++){
    			return $i;
    		}
     
    	}
    je l'appelle dans smarty :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->smarty->assign('counter', $this->counterPartenaires());
    Si je fais un print directement dans la boucle il me retourne effectivement chaque numéro.
    Mais il faut absolument que je récupère le résultat pour l'assignation smarty

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Par défaut
    Bonjour,

    Je dirais "logique".

    Il est tout à fait normal que ta fonction te retourne constament 1;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function counterPartenaires(){
    		$nbrId = dbPartenaires::selectPartBySector();
    		for($i=1; $i<=count($nbrId); $i++){
    			return $i; 
    		}
     
    	}
    return va stopper ta fonction et renvoyer une valeur. De plus tu vas boucler pour rien étant donné que tu vas faire le count().

    Pourquoi ne pas faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function counterPartenaires(){
    		return count(dbPartenaires::selectPartBySector());
    	}

    GoT

  3. #3
    FoxLeRenard
    Invité(e)
    Par défaut
    Bon simplement pas dans la bonne boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function counterPartenaires()
    {
      $nbrId = dbPartenaires::selectPartBySector();
      return count($nbrId); 
    }

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut
    Parce que je souhaite afficher une numérotation et le résultat ne me sert pas à grand chose
    je doit afficher
    1 chaine....
    2 chaine....
    3 chaine....
    4 chaine....
    .....
    Pour cette raison que j'ai tenter un for, pour l'histoire du return j'aurai du y penser lol mais je ne trouve pas de solution pour faire une incrémentation suivant un comptage préalable des éléments de mon tableau.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut
    je pensais peut être afficher la numérotation baser sur la clé de tableau ou que sais je .
    Il faut impérativement que je puisse faire sa mais bon étant donnée que j'utilise smarty.
    Peut être avec la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {counter start=0 assign=compteur}
    j'ai également essayer ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach (dbPartenaires::selectPartBySector() as $key=>$value) $this->smarty->assign('counter', ++$key);
    Mais il m'affiche le résultat pas une numérotation.

Discussions similaires

  1. deserializer xml (problème avec les sequences d'éléments)
    Par jamelledine_med dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 11/06/2009, 23h22
  2. [Smarty] Problème avec {html_image}
    Par Pierot86 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 10/01/2008, 11h39
  3. [Smarty] problème avec l'arborescence
    Par gtraxx dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 09/01/2008, 15h02
  4. [Smarty] problème avec section
    Par cflo91 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 09/08/2007, 16h32
  5. Réponses: 1
    Dernier message: 02/03/2007, 18h03

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