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 :

Erreur boucle while et foreach [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 178
    Par défaut Erreur boucle while et foreach
    Voici j'ai une erreur pour afficher un resultat apres un submit
    Warning: Invalid argument supplied for foreach() avec une boucle while aussi j'ai une erreur du même type


    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
        echo '<form action="label2.php" method="post">';
     
        $sql=mysql_query("SELECT * from categorie")or die(mysql_error());
         while($data=mysql_fetch_assoc($sql))
    {
        echo "<input type=\"checkbox\" name=\"choix[]\" value=\"".$data['categorie_id']."\">".$data['name'].'<br>' ;
    }
        echo  "<input type=\"submit\" name=\"EnvoyerDonnee\" value=\"S'inscrire\">" ; 
        echo "</form>";
     
     
     
    if(isset($_POST['choix']))
    {
    $valeur=$_POST['choix'];
    $reponse = mysql_query("SELECT name FROM categorie WHERE categorie_id = '".$valeur."'")or die("Erreur SQL : $reponse<br/>".mysql_error());
    foreach($reponse as $data)
       { 
       echo  $data['name'],'<br>';   
       }
    }
    ?>

  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
    Pour le foreach, remplace le plutôt par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while($reponse2 = mysql_fetch_array($reponse))
       {
       echo  $reponse2['name'],'<br>';   
       }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 178
    Par défaut
    j'ai plus d'erreur mais s'a affiche rien ecran blanc

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    Bonjour,

    Essaie ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
      if(isset($_POST['choix']))
      {
        $valeur = $_POST['choix'];
        $in = implode(',', $valeur);
        $sql = 'SELECT name 
                FROM categorie 
                WHERE categorie_id IN (' . $in . ')';
        $reponse = mysql_query($sql)
          or die("Erreur SQL : $reponse<br/>" . mysql_error());
      }
    ?>

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 178
    Par défaut
    ok ça marche et si je veus afficher le parent comment je fais ?

    TELEVISION-->casecocher

    comment afficher le parent et l enfant ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 178
    Par défaut
    J'ai trouvr la requete sql pour faire mais quand je l integre en php j ai une erreur Notice: Undefined index: name
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if(isset($_POST['choix'])){
    $reponse = mysql_query("SELECT p.name Parent, e.name Enfant FROM categorie e LEFT JOIN categorie p ON e.parent=p.id IN(".implode(', ', $_POST['choix']).")") or die("Erreur SQL : $reponse<br/>".mysql_error());
     
     while($data = mysql_fetch_assoc($reponse)){
      echo $data['name'].'<br />';
     }
    }

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

Discussions similaires

  1. [Toutes versions] erreur boucle while
    Par AidezMoiSvp dans le forum VBA Access
    Réponses: 2
    Dernier message: 23/04/2013, 16h53
  2. [MySQL] boucle while pour requête : erreur
    Par marcello06 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/09/2008, 06h41
  3. Gestion des erreurs dans une boucle While
    Par Gregory.M dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/08/2008, 20h57
  4. Réponses: 2
    Dernier message: 30/11/2007, 09h41
  5. erreur mysql-fetch_array dans une boucle While
    Par carmen256 dans le forum Requêtes
    Réponses: 2
    Dernier message: 13/04/2006, 17h15

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