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 :

condition avec une boucle qui marche pas


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 139
    Points : 66
    Points
    66
    Par défaut condition avec une boucle qui marche pas
    bonsoir,

    J'aurais besoin d'un petit coup de main pour corriger mon script car là je sèche


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    for ($count = 0; $count < 100; $count++)
    {
       if ($count>=$temps)
        {
          if ($evenement=='1')
           {
             echo "ça ne marche pas!!!";
           }
        }
    }
    la variable $temps est une valeur pouvant varier entre 0 et 100 et est rentrée aléatoirement.Je souhaite que lorsque la condition evenement est vraie et que la variable temps est supérieure ou égale à la variable count, le message s'affiche. Mais une seule fois!!!!
    Chez moi il s'affiche à chaque pas du compteur dès que les 2 conditions sont vraies .
    Pour info, la boucle ne peut pas être arrêtée par un break.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu peux ajouter un marqueur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $marqueur = FALSE;
    for ($count = 0; $count < 100; $count++)
    {
       if ($count>=$temps)
        {
          if ($evenement=='1' && $marqueur == FALSE)
           {
             echo "ça ne marche pas!!!";
             $marqueur = TRUE;
           }
        }
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 156
    Points : 190
    Points
    190
    Par défaut
    Tu as aussi l'instruction break qui te permet de sortir de la boucle

  4. #4
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Sortirait de la boucle et renverrait true en même temps
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  5. #5
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Juin 2009
    Messages : 104
    Points : 120
    Points
    120
    Par défaut
    Hello

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    for ($count = 0; $count < 100; $count++)
    {
       if ($temps >= $count ) 
       # la variable temps est supérieure ou égale à la variable count
        {
          if ($evenement == '1')
           {
             echo "ça ne marche pas!!!";
             $temps = 0; # $temps plus petit que $count++
           }
        }
    }
    Mais le "FOR" va tout de même continuer à vide, ce qui me semble du gaspillage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #$temps = XX;
    #$evenement = 1; #$evenement = 0;
    $count = 0;
    while ( ($count < 100) AND ($temps >= $count) ) {
          if ($evenement == '1')
           {
             echo "ça ne marche pas!!!";
             $temps = 0; # $temps plus petit que $count++
           }
           $count++;
    }
    Pat

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 139
    Points : 66
    Points
    66
    Par défaut
    Merci beaucoup, pb résolu avec la méthode de Sabotage

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

Discussions similaires

  1. Encore une boucle qui ne marche pas
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/04/2011, 09h16
  2. BOUCLE qui marche pas
    Par malone12 dans le forum Bases de données
    Réponses: 4
    Dernier message: 08/10/2010, 21h04
  3. condition avec une boucle
    Par mac7474 dans le forum Langage
    Réponses: 4
    Dernier message: 15/03/2010, 15h37
  4. boite de dialogue et conditions, creer une boucle qui se génère tout le temps
    Par Misspatate dans le forum SAS AF et formulaires
    Réponses: 0
    Dernier message: 22/04/2009, 13h27
  5. une comparaison qui marche pas.
    Par gandf dans le forum C++Builder
    Réponses: 7
    Dernier message: 16/02/2004, 15h59

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