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 "while"


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Par défaut Boucle "while"
    Bonjour à tous,

    Jai un gros souci je n'arrive pas à faire ma boucle while qui est intègrer dans ma boucle for. A chaque fois ie est long est je penses que ma boucle tourne indéfinimement. Je ne vois pas mon erreur.

    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
     
    $cpt = 0;
     
    for ($j=1;$j<11;$j++){
      $_SESSION['choix_codePrest'.$j.'_list']=$_POST['choix_codePrest'.$j];
     
      if (($_POST['choix_codePrest'.$j]) != ""){
         $i = "true";
      }else{
         $i = "false";
      }
     
       while($i = "true")
       {
          $cpt++; 
       }
          echo '$cpt;
     
    }
    Quand $i = true alors on incrémente $cpt, et après j'aimerai afficher le total de $cpt.

    Pouvez-vous m'aider?

    Merci d'avance

  2. #2
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 83
    Par défaut
    Bonjour à toi,
    C'est assez simple, la première fois que tu rentres dans ton while, $i vaut true, et ca boucle jusqu'à ce que $i devienne false, ce qui n'arrive jamais dans ton while, donc la boucle tourne à l'infini

    Et d'ailleurs ce serait plutot

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    while($i == "true") {
       ...
    }

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Par défaut
    Donc il faut que j'intégre ma condition if dans le while?

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    POurquoi se prendre la tête avec $i false ou true ? Autant mettre directement le compteur dans le test.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $cpt = 0;
     
    for ($j=1;$j<11;$j++){
      $_SESSION['choix_codePrest'.$j.'_list']=$_POST['choix_codePrest'.$j];
     
      if (($_POST['choix_codePrest'.$j]) != ""){
         $cpt++; 
      }
          echo "$cpt";
    }
    Ah et si tu écris echo '$cpt', tu vas obtenir $cpt à l'affichage et non sa valeur
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Par défaut
    Oui, j'avais essayé de faire cette méthode mais cela m'affiche :
    1234555555 mais moi j'aimerai qu'il m'affiche le nombre 5 qui correspond à 5 $_POST['choix_codePrest'.$j]) qui sont différent de rien.

    Merci d'avance.

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    En fait, tu veux la valeur du compteur après toutes les incrémentations possibles ? SImple : il suffit de sortir le echo de la boucle for
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  7. #7
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 70
    Par défaut
    je suis d'accord wharren et il manque ossi ça ' a la fin de ton echo avant la femeture ta boucle for

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

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