Index du Forum » » Le coin des codeurs

Auteur

menus déroulants
camy
40    

  Posté : 21-07-2003 11:48

Voila, g deux menus déroulants liés entre eux !!!!!
L'utilisateur choisit d'abord une categorie puis une activitéde la categorie choisie.
J'aimerai qu'il inscrive aussi dans les activité l'option "toutes les activités" pour afficher toutes les activités de la catégorie choisie.
Mais là, je ne sait pas comment faire.
Je vous ecris mon code si vous avez une idée :

<HTML>
<BODY>
<?php
$db=mysql_connect(&qu ot;localhost", "root", "");
mysql_select_db('assos1',$db) ;
?>
<SCRIPT LANGUAGE="!javascript!">
function ModifierListe(code_act) {
lg = document.frmDemo1.zlActivite.length;
for (i = lg - 1; i >= 0; i--) {
document.frmDemo1.zlActivite.options[i] = null;
}
code_cat = document.frmDemo1.zlCategorie.selectedIndex;
<?php
// Génération des activités par Catégories
$sql = "SELECT codeC FROM Categories ORDER BY codeC";
$resultat = mysql_query($sql);
$max_lignes = 0;
$option_max = '';
while ($enr = mysql_fetch_array($resultat)) {
$sql = "SELECT codeA, nomA ";
$sql .= "FROM activités ";
$sql .= "WHERE codeCat='".$enr[0]."'";
$sql .= "ORDER BY nomA";
$resultat2 = mysql_query($sql);
echo " if (document.frmDemo1.zlCategorie.options[code_cat].value== ".$enr[0].") {\n";
echo " document.frmDemo1.zlActivite.length = ".(mysql_num_rows($resultat2)).";\n";
$cpt = 0;
while ($enr2 = mysql_fetch_array($resultat2)) {
echo " document.frmDemo1.zlActivite.options[".$cpt."].value = ".$enr2[0].";\n";
echo " document.frmDemo1.zlActivite.options[".$cpt."].text = \"".$enr2[1]."\";\n";
echo " if (code_act == ".$enr2[0].") document.frmDemo1.zlActivite.options[".$cpt."].selected = true;\n";
$cpt++;
if ($cpt > $max_lignes) $max_lignes = $cpt;
if (strlen($enr2[1]) > strlen($option_max)) $option_max = $enr2[1];
}
echo " }\n";
}
?>
}
</SCRIPT>
<?php
// ---------------------------------------------------------------------------- // Liste Rubriques
// ---------------------------------------------------------------------------- $sql3 = "SELECT codeC,nomC FROM categories ORDER BY codeC";
$resultat3 = mysql_query($sql3);
echo "<FORM METHOD=POST NAME='frmDemo1' ACTION='suite.php3'>";
echo "<BR>&nbsp;<B>Catégories</B>&nbsp;";
ec ho "&nbsp;<SELECT NAME='zlCategorie' onChange='ModifierListe(-1)'>\n";
while ($enr = mysql_fetch_array($resultat3)) {
echo "<OPTION VALUE='".$enr[0]."'";
if ($zlCategorie == $enr[0]) echo " SELECTED";
echo ">".htmlspecialchars($enr[1])."</OPTION>\n";
}
echo "</SELECT>&nbsp;\n";
// ---------------------------------------------------------------------------- // Liste Activités
// ---------------------------------------------------------------------------- echo "&nbsp;<B>Activités</B>&nbsp;";
echo "&nbsp;<SELECT NAME='zlActivite'>\n";
for ($cpt = 0; $cpt < $max_lignes; $cpt++)
echo "*<OPTION>".ereg_replace(".", "--", $option_max)."</OPTION>\n";
echo "</SELECT>&nbsp;\n";
if (!isset($zlActivite)) $zlActivite = -1;
echo "<SCRIPT LANGUAGE='!javascript!'>\n;ModifierListe(".$zlActivite.");\n</S CRIPT>\n";
// ---------------------------------------------------------------------------- echo "<INPUT TYPE='submit' VALUE='Rechercher'>\n";
echo "</FORM>";
?>
</BODY>
</HTML>



Cet article provient de NPDS

http://www.npds.org/viewtopic.php?topic=6457&forum=5