Problem combobox sous php

Résolu
Bonjour à tous , je suis entrain de concevoir une application en PHP, mon prob est comme suit
je voudrais charger un combobox à partir d'une base de donnée en mysql, voici le code que je mets sur le formulaire à la place du combobox

<?php
include "connect.php";
$ISBN=isset($_GET['IS']);
if(isset($ISBN))
{
$SQL="SELECT ISBN FROM livre";
$dbh->exec($SQL);
echo '<select name=IS style="width:220px; height:18px;">';
echo "<option value=>Sectionner l'ISBN du Livre </option>";
while (list($ISBN) = mysql_fetch_row($dbh))
{
print "<option value='".$ISBN['IS']."'>".$ISBN['IS']."</option>\n";
}
echo "</select>";}
//include "disconnect.php";
?>

21 réponses

  1. au moment de l'execution seul un combobox affiche avec un msg selectioner l'isbn du livre mais les valeurs enregistré ds la base de donné ne s'affiche pas
    0
    1. Est-ce que dans ta liste tu as malgré tout plusieurs lignes blanches (autant de ligne que d'enregistrements) ou juste une ligne avec Sectionner l'ISBN du Livre ???
      0
      1. juste une ligne avec Sectionner l'ISBN du Livre
        0
        1. Moi j'aurais fait comme suit :

          
          <?php
          include "connect.php";
          $ISBN=isset($_GET['IS']);
          if(isset($ISBN))
          {
          $SQL="SELECT ISBN FROM livre";
          $dbh = mysql_query($SQL);
          echo '<select name=IS style="width:220px; height:18px;">';
          echo "<option value=>Sectionner l'ISBN du Livre </option>";
          while ($data = mysql_fetch_assoc($dbh))
          {
          print "<option value='".$data['ISBN']."'>".$data['ISBN']."</option>\n";
          }
          echo "</select>";}
          //include "disconnect.php";
          ?>
          
          
          0
          1. en enlevant \n ?
            0
          2. <?php
            include "connect.php";
            $ISBN=isset($_GET['IS']);
            if(isset($ISBN))
            {
            $SQL="SELECT ISBN FROM livre";
            $dbh = mysql_query($SQL);
            echo '<select name="IS" style="width:220px; height:18px;">';
            echo '<option value="">Sectionner l\'ISBN du Livre </option>';
            while ($data = mysql_fetch_assoc($dbh))
            {
            echo  '<option value="'.$data['ISBN'].'">'.$data['ISBN'].'</option>\n';
            }
            echo '</select>';}
            //include "disconnect.php";
            ?>


            fais attention avec les quote, soit tu mets simple soit tu mets double, mais vaut mieux éviter de mélanger les 2, tu as oublié certaines quotes,

            name="IS" et value=""
            
            0
        2. Tu peux donner le détail de ta table livre stp?
          0
          1. ISBN char(5)
            CODEED char(5)
            NOMLIV char(20)
            AUTEUR char(20)
            NUMSERIE char(5)
            NB_EXEMPLAIRE int(11)
            MOTCLE char(15)
            elle contient les données suivantes:
            IS1 ED1 alchimiste PAULO COELHO 2 5 al
            IS2 ED2 kkkk kkkkk 2 5 kk
            0
            1. j'ai essayé ce code et ça donne tjrs rien

              <select name="ISBN">

              <option></option>
              <?php

              include "connect.php";

              $req_liv=mysql_query("SELECT DISTINCT ISBN FROM livre");

              while ($data_liv=mysql_fetch_array($req_liv)){
              $ISBN=$data_liv['ISBN'];

              echo "<optgroup label=\"$ISBN\">";

              echo "<option value=\"$ISBN\">$ISBN</option>";
              echo "</optgroup>";
              }
              include "disconnect.php";
              ?>
              </select>
              0
              1. Ca devrait marcher... Est-ce que ta requête (certes simple) te renvoie des résultats sous phpmyadmin??
                0
                1. il parait que le premier traitement que je t ai envoyé est juste sauf que moi je mets print et je dois integrer un combobox et apres un index et pour chaque index du combobox je dois assiger une valeur . ( mais je ne sais pas comment )
                  0
                  1. <select name="ISBN">
                    
                    <option></option>
                    <?php
                    
                    include "BD/connexion.inc.php";
                    
                    $req_liv=mysql_query("SELECT DISTINCT * FROM machine");
                    
                    while ($data_liv=mysql_fetch_array($req_liv)){
                    $ISBN=$data_liv['NomMachine'];
                    
                    echo "<optgroup label=\"$ISBN\">";
                    
                    echo "<option value=\"$ISBN\">$ISBN</option>";
                    echo "</optgroup>";
                    }
                    include "disconnect.php";
                    ?>
                    </select>


                    J'ai testé ceci sur mon poste (en remplaçant avec une de mes bases) et tout fonctionne correctement... La seule chose que je vois c'est ton connect.php qui fait mal la connexion et la sélection de la base... Fais voir connect.php...des fois que
                    0
                    1. <?php
                      $user = 'root';
                      $pass = '';
                      $dsn = 'mysql:host=localhost;dbname=new_base';
                      // Connexion à la base de données
                      try {
                      $dbh = new PDO($dsn, $user, $pass);
                      } catch (PDOException $e) {
                      die( "Erreur ! : " . $e->getMessage() );
                      }
                      ?>
                      0
                      1. $connect = mysql_connect("localhost","root","");
                        if (!$connect)
                        {
                        die('Non connecté : ' . mysql_error());
                        }

                        $db_select = mysql_select_db('new_base', $connect);
                        if (!$db_select)
                        {
                        die ('Impossible d\'utiliser la base : ' . mysql_error());
                        }
                        0
                        1. j 'ai essayé le code que tu m'as envoyé et ca donen tjrs rien, ce code je l'insere ds le formulaire où il y a le combobox c'est juste ?
                          0
                          1. Non tu remplace include('connect.php"); par ceci
                            0
                            • 1
                            • 2