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

Langage PHP Discussion :

boucle for dans foreach


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de stomerfull
    Inscrit en
    Septembre 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 307
    Par défaut boucle for dans foreach
    bonjour,

    je bloque sur une incrémentation

    voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    foreach($list as $valeur)
     {
     
                    foreach($valeur as $cle=>$val)
                            {
     
     
                                  try{  
                                            $model_stat->save($val,$i);
                                    }catch(Exception $e){
                                            $message=Zend_Debug::dump($e,'e');
                                    }
                            }
       }
    et la function

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public function save($data1,$inc)
    {
                    // On récupère les données et insertion après (nom de champ => valeur postée)
                    $data = array('text_value'=> $data1,'id_column'=>$inc);
                     $this->insert($data);                 
    }
    le probleme que c'est que je 'arrive pas à incrémenté par de 1 à 5 par exemple ou ce que je veux la variable $i
    j'ai essayer de mettre for($i=0;$i<6;$i++) avant le try mais ça execute 5 fois une insertion c'est a dire la fonction est executé 5 fois pour une seul ajout

    je voudrais qu'a chaque insertion, $inc s'incrémente de 1 à 5 par exemple

    comment eviter cela , ou est ce que je doit gérer cette incrémentation pour eviter une execution comprise entre la boucle for

    merci beaucoup

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bonjour, soit pus clair, pourquoi veux-tu incrémenter une variables à quoi va te servir cette variable ??

  3. #3
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour à tous,

    je voudrais qu'a chaque insertion, $inc s'incrémente de 1 à 5 par exemple
    Tu veux que les indices de colonnes s'incrémentent de 1 à 5, puis repassent à 1 etc ... ????

  4. #4
    Membre éclairé Avatar de stomerfull
    Inscrit en
    Septembre 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 307
    Par défaut
    bonjour,

    Cette variable est la clé étrangère d'une table qui stocke les colonnes.

    Mes colonnes sont stockés en ligne dans une table

    donc un enregistrement de $val correspondra à un id par exemple 1 ou 2 ou 3 d'une la table colonne

    j'espère que je me suis fais comprendre

    colonnes
    id value
    1 id
    2 nom
    3 prenom


    j'ai trouvé la réponse

    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
    foreach($list as $valeur)
     {
                   $i= 1;
                    foreach($valeur as $cle=>$val)
                            {
     
     
                                  try{  
                                            $model_stat->save($val,$i);
                                    }catch(Exception $e){
                                            $message=Zend_Debug::dump($e,'e');
                                    }
                      $i++;
     
                           }
       }
    au lieu de faire une boucle for

    j'ai juste mis $i=1; et $i++ dans le boucle foreach


    merci beaucoup

  5. #5
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Ahhh oui, moi j'étais resté bloqué sur le 1 à 5 or c pas le cas

    Sinon,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $model_stat->save($val,$i++);
    Si try qui passe pas évite un décalage (non là je sais pas)

  6. #6
    Membre éclairé Avatar de stomerfull
    Inscrit en
    Septembre 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 307
    Par défaut
    Oui ,

    j'ai tester un ça marche pour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $model_stat->save($val,$i++);

    il vaudrait mieux mettre l'incrémentation dans le try ...

    Oui je vais essayer ça


    merci bien

  7. #7
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    On pourrait aussi imaginer $i comme une variable static dans l'objet $model_stat.
    Ainsi, il se chargerait de sa propre incrémentation et ne dépendrait pas du code externe.

Discussions similaires

  1. Réponses: 18
    Dernier message: 25/07/2007, 13h34
  2. Une boucle for dans un switch case?
    Par Death83 dans le forum Langage
    Réponses: 4
    Dernier message: 26/04/2006, 15h05
  3. Boucle For dans un TDBGrid
    Par Latipolia dans le forum C++Builder
    Réponses: 28
    Dernier message: 14/06/2005, 13h12
  4. boucle for dans un if...
    Par SylverFox dans le forum Débuter
    Réponses: 3
    Dernier message: 11/08/2004, 17h57
  5. Boucle for dans un script cmd
    Par nicolas.ganache dans le forum Développement
    Réponses: 4
    Dernier message: 19/07/2004, 17h07

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