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

PHP & Base de données Discussion :

Problème d'affichage avec if et for


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 106
    Par défaut Problème d'affichage avec if et for
    Bonjour à tous,

    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
    15
    16
    17
    18
    19
    20
    <?php
    $verne = $_POST['dats'];
    ?>
    <HTML><HEAD>
    <TITLE>loli</TITLE>
    </HEAD> <BODY>
    <?php
    mysql_connect("localhost","root","");
    mysql_select_db('base1');
    $reponse=mysql_query("select * from table1 ");
    while ($donnees=mysql_fetch_array($reponse))
    {
    for ($i=$donnees['date_occ']; $i<=$donnees['date_lib']; $i++){}}
    if ($i='$verne'){
    echo 'cette date existe';}
    else {echo 'existe pas';}
    mysql_close();
    ?>
     
    </BODY></HTML>
    le problème du bloc c'est qu'il ne prend pas un compte le if ($i='$verne') et le else, il affiche à chaque fois le 1er message 'cette date existe' quelque soit la condition existe ou non.j'ai beaucoup essayer avec mais ça n'a pas marché...
    si vous avez une solution aidez moi SVP

  2. #2
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Thaïlande

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par défaut
    C'est un double == qu'il faut mettre et enlever les ' pour comparer le contenu d'une variable :

  3. #3
    Membre chevronné
    Avatar de hornetbzz
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Octobre 2009
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial

    Informations forums :
    Inscription : Octobre 2009
    Messages : 482
    Par défaut
    Même avec la correction nécessaire de Seb33300, tu auras de toutes façons le problème car tu n'as pas mis ton test sur "i" dans la boucle sur "i".

  4. #4
    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,

    Mis à part ton test (doit être ==) et qu'il n'est pas au bon endroit, j'ai une petite question

    Lors de ton incrémentation, tu veux incrémenter quoi ? (des jours )

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 106
    Par défaut
    Lors de ton incrémentation, tu veux incrémenter quoi ?
    incrémenter une date..
    si je mis == il afiche uniquement le 2eme résultat quelque soit la condition true or false. vous savez c un bloc fou

    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
    <?php
      $verne = $_POST['dats'];
    ?>
    <HTML><HEAD>
    <TITLE>khavile</TITLE>
    </HEAD> <BODY>
    <?php
    mysql_connect("localhost","root","");
    mysql_select_db('hotel');
    $reponse=mysql_query("select * from chambre ");
    while ($donnees=mysql_fetch_array($reponse))
    {
    for ($i=$donnees['date_occ'];$i<=$donnees['date_lib'];$i++){}}
       //le probléme commence d'ici
    if ($i==$verne){
    echo 'il ya des chambres disponibles';
    }
    else {
    echo 'pas disponible';
    }
    mysql_close(); 
    ?>
     
    </BODY></HTML>

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    Salut,
    je crois que ton problème vient de ta boucle for. tu fais absolument rien à l'intérieur des accolades. de ce fait, la variable $i contient le dernier élement du tableau $donnee (obtenu en fetchant une requete sql).
    Tu pourrais faire un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    while ($donnees=mysql_fetch_array($reponse))
    {
      if ($donnees['date_occ']==$verne){
       //faire traitement
      }else{
      //autre traitement
      }
    }

  7. #7
    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
    Désolé mais dans les remarques du post, hornetbzz, t'a dit que le IF n'est pas dans la boucle

    Donc au moins le code serait:
    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
    28
     
    <?php
      $verne = $_POST['dats'];
    ?>
    <HTML><HEAD>
    <TITLE>khavile</TITLE>
    </HEAD> <BODY>
    <?php
    mysql_connect("localhost","root","");
    mysql_select_db('hotel');
    $reponse=mysql_query("select * from chambre ");
    while ($donnees=mysql_fetch_array($reponse))
    {
    for ($i=$donnees['date_occ'];$i<=$donnees['date_lib'];$i++){
     
       // je mets une parenthése sur le ++
        if ($i==$verne){
            echo 'il ya des chambres disponibles';
        }
        else {
            echo 'pas disponible';
        }
    }
    }
    mysql_close(); 
    ?>
     
    </BODY></HTML>
    Pour la (), vu le code la date n'est peut être une date sans vouloir te vexer car le but du forum est de t'aider

    Edit : désolé le post écrit en même temps

Discussions similaires

  1. Problème d'affichage avec IE
    Par sheepk dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 11/11/2005, 13h00
  2. Réponses: 6
    Dernier message: 19/05/2005, 11h06
  3. problème d'affichage avec printf
    Par sorari dans le forum C++
    Réponses: 12
    Dernier message: 08/03/2005, 18h30
  4. Réponses: 6
    Dernier message: 19/10/2004, 13h46
  5. Problème d'affichage avec trace
    Par WriteLN dans le forum Flash
    Réponses: 10
    Dernier message: 22/10/2003, 16h59

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