[PHP] Deux menus déroulants dynamiques

Résolu
Bonjour,
Je souhaite afficher deux menus déroulants.
Le premier permet de sélectionner une rubrique dans ma base de données, le second affiche les sous-rubriques de la rubrique sélectionnée. A priori cela ne semble pas insurmontable :-)
Seulement vu mon niveau en programmation, je rame un peu.
j'arrive à lister mes rubriques dans le premier menu déroulant (wouahhh trop fort !!) mais ensuite ça se complique. Lors de la séléction de la rubrique, les sous-rubriques ne s'affichent pas dans le second menu.
Ce qui est étonnant c'est qu'il crée le nombre d'entrées correct dans le menu mais n'affiche pas les intitulés.
pourriez-vous me donner une piste ? ou mieux me dire ou ça bloque dans mon code.
Merci beaucoup !!
Voici mon code:
<?
//include the connect script
include("infos.inc");

$connection = mysql_connect($host,$user,$password)
or die ("Connexion au serveur impossible");
$db = mysql_select_db($database,$connection)
or die ("Sélection de la base de données impossible");

echo "<form action='select02.php' enctype='multipart/form-data' method='post' id='choixrub'>";
$query = "SELECT DISTINCT intitule FROM tbl_rub ORDER BY intitule DESC";
$result = mysql_query($query) or die("ERROR");
$Selected = 0;
?>
<select name='rubrique' id='rub' style='min-width:250px;' onchange='document.forms["choixrub"].submit();'>
<?
echo "<option disabled='disabled' SELECTED>Rubrique :</option>";
while ($row = mysql_fetch_array($result))
{
if($Selected == 0)
{
echo '<option value="', $row[0], '" ">', $row[0], '</option>';
$Selected = 1;
}
else
{
echo '<option value="', $row[0], '">', $row[0], '</option>';
}
}
echo '</select></form>';

if (isset ($_POST['rubrique'])){
$rubrique = $_POST['rubrique'];
}
//formulaire choix sous-rubrique
echo $rubrique;
echo "<form action='select02.php' enctype='multipart/form-data' method='post' id='choixssrub'>";
$query = "SELECT intitule FROM tbl_ssrub WHERE rub_asso='$rubrique'";
$result = mysql_query($query) or die("ERROR");
?>
<select name='ssrub' id='ssrub' style='min-width:250px;' onchange='document.forms["choixssrub"].submit();'>
<?
$Selected = 0;
echo "<option disabled='disabled' SELECTED> Sous-rubriques :</option>";
while ($row = mysql_fetch_array($result))
{
if($Selected == 0)
{
echo '<option value="', $row[1], '" ">', $row[1], '</option>';
$Selected = 1;
}
else
{
echo '<option value="', $row[1], '">', $row[1], '</option>';
}
}
echo "</select><br/></br><input type='submit' value='Soumettre'/><br></form></br></br>";
?>

2 réponses

  1. y'aurait pas comme une petite erreur de syntaxe dans ces lignes ?

    echo '<option value="', $row[1], '" ">', $row[1], '</option>';

    echo '<option value="', $row[1], '">', $row[1], '</option>';
    1
    1. J'ai trouvé la solution
      merci moi-même !! ;-)
      Voici le bon code pour ceux que ça intéresse:

      <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      <title>Administration</title>
      </head>

      <body>
      <?
      //include the connect script
      include("infos.inc");

      $connection = mysql_connect($host,$user,$password)
      or die ("Connexion au serveur impossible");
      $db = mysql_select_db($database,$connection)
      or die ("Sélection de la base de données impossible");

      echo "<form action='select02.php' enctype='multipart/form-data' method='post' id='choixrub'>";
      $query = "SELECT DISTINCT intitule FROM tbl_rub ORDER BY intitule DESC";
      $result = mysql_query($query) or die("ERROR");
      $Selected = 0;
      ?>
      <select name='rubrique' id='rub' style='min-width:250px;' onchange='document.forms["choixrub"].submit();'>
      <?
      echo "<option disabled='disabled' SELECTED>Séléctionnez une rubrique :</option>";
      while ($row = mysql_fetch_array($result))
      {
      if($Selected == 0)
      {
      echo '<option value="', $row[0], '" ">', $row[0], '</option>';
      $Selected = 1;
      }
      else
      {
      echo '<option value="', $row[0], '">', $row[0], '</option>';
      }
      }
      echo '</select></form>';

      if (isset ($_POST['rubrique'])){
      $rubrique = $_POST['rubrique'];
      }
      //formulaire choix sous-rubrique
      echo "Rubrique séléctionnée: $rubrique</br>";
      echo "<form action='select02.php?rub=$rubrique&ssrub=$ssrub' enctype='multipart/form-data' method='post' id='choixssrub'>";
      $query = "SELECT intitule FROM tbl_ssrub WHERE rub_asso='$rubrique'";
      $result = mysql_query($query) or die("ERROR");
      ?>
      <select name='ssrub' id='ssrub' style='min-width:250px;'>
      <?
      $Selected = 0;
      echo "<option disabled='disabled' SELECTED> Séléctionnez une sous-rubrique :</option>";
      while ($row = mysql_fetch_array($result))
      {
      if($Selected == 0)
      {
      echo '<option value="', $row[0], '" ">', $row[0], '</option>';
      $Selected = 1;
      }
      else
      {
      echo '<option value="', $row[0], '">', $row[0], '</option>';
      }
      }
      echo "</select><br/></br><input type='submit' value='Soumettre'/><br></form></br></br>";
      ?>
      </body>
      </html>
      0