[PHP] Deux menus déroulants dynamiques

Résolu
rasteda Messages postés 34 Statut Membre -  
rasteda Messages postés 34 Statut Membre -
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. rasteda Messages postés 34 Statut Membre 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
  2. rasteda Messages postés 34 Statut Membre 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