4 Listes déroulantes liées avec accès MySQL

4 Listes déroulantes liées avec accès MySQL - PHP - Programmation

Marsh Posté le 06-01-2006 à 14:43:57    

bonjour,
 
j'ai un formulaire avec 4 listes déroulantes liées, je suis bloqué, il ne m'affiche pas la seconde liste lorsque je sélectionne un choix dans la première, pouvez-vous m'aider
 
merci pour vos conseils
 
 
 
 

<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 
<script language=javascript>
function modifcombo(){
document.location.replace("ajoutbis.php?gam=" + document.form1.lib_gam.value);
document.form1.lib_gam.value = $gam;
 
function modifcombo1(){
document.location.replace("ajoutbis.php?gam="$gam"niv1=" + document.form.lib_niveau1.value );
document.form1.lib_niveau1.value = $niv1;
}
</script>;
</head>
 
<body>
 
<?php
 
if (isset($_GET['gam'])){
$gam = $_GET['gam'];
} else {
$gam = NULL;
}
 
?>
<form name="form1" method="post" action="valide.php">
<table bgcolor="#ffe7c0" border="0">
<tbody>
<caption style="font-weight: bold;" valign="top" align="center"><big>Ajout d'un produit<br>
<br>
</big></caption>  
 
<tr>
<td style="text-align: left; font-weight: bold;"><font color="#ff6000"> Gamme :</font></td>
<td><select name="lib_gam" class="txt16-000000" onChange="javascript : modifcombo()">
<option value=""></option>
 
<!-- Valeur vide pour forcer l'utilisateur à sélectionner  -->
<?php
 
// Connexion à la base
 
$dbhost="localhost";
$dblogin="**********";
$dbpassword="***********";
$dbname="***************";
 
mysql_connect($dbhost,$dblogin,$dbpassword);
mysql_select_db($dbname);
 
 
// Execution requête
 
$ma_req = "SELECT * FROM gamme;";
$res_req = mysql_query($ma_req)
 or die("Selection table \"gamme\" impossible" );
 
// Affectation des variables utilisées pour l'affichage
     
if (mysql_num_rows($res_req)!=0) {  // résultat non vide
while ($une_ligne = mysql_fetch_array($res_req)) {
$id_gam =  $une_ligne["id_gam"];
$lib_gam = $une_ligne["lib_gam"];
print "<option value=" . $id_gam;
if ($id_gam == $gam) {
 
 print " selected";
 
 }
 
 print ">" . $lib_gam ."</option>";
 
 }
 
 }
 
?>
 
</select>
 
</td>
 
</tr>
 
<tr>
 
<td style="text-align: left; font-weight: bold;"><font color="#ff6000">Famille : </font></td>
 
<td><select name="lib_niveau1" class="txt16-000000" onChange="javascript : modifcombo1()">
 
<option value=""></option>
 
<!-- Valeur vide pour forcer l'utilisateur à sélectionner  -->
 
<?php
 
 // Connexion à la base
$dbhost="localhost";
$dblogin="***********";
$dbpassword="************";
$dbname="***********";
 
mysql_connect($dbhost,$dblogin,$dbpassword);
mysql_select_db($dbname);
 
// Execution requête
 
$ma_req = "SELECT * FROM niveau1 WHERE id_gam = '$gam';";
$res_req = mysql_query($ma_req)
or die("Selection table \"niveau1\" impossible" );
 
// Affectation des variables utilisées pour l'affichage
if (mysql_num_rows($res_req)!=0) {  // résultat non vide
while ($une_ligne = mysql_fetch_array($res_req)) {
$id_gam = $une_ligne["id_gam"];
$lib_niveau1 = $une_ligne["lib_niveau1"];
 
print "<option value=" . $id_niveau1;
if ($id_niveau1 == $niv1) {
 
 print " selected";
 
 }
 
 print ">" . $lib_niveau1 ."</option>";
 
 }
 
 }
 
?>
</select></td>
</tr>
 
 
 
 
<tr>
 
<td style="text-align: left; font-weight: bold;"><font color="#ff6000">Sous-Famille : </font></td>
 
<td><select name="lib_niveau2" class="txt16-000000">
 
<option value=""></option>
 
<!-- Valeur vide pour forcer l'utilisateur à sélectionner  -->
 
<?php
 
 // Connexion à la base
$dbhost="localhost";
$dblogin="************";
$dbpassword="**************";
$dbname="*********";
 
mysql_connect($dbhost,$dblogin,$dbpassword);
mysql_select_db($dbname);
 
// Execution requête
 
$ma_req = "SELECT * FROM niveau2 WHERE id_niveau1 = '$niv1';";
$res_req = mysql_query($ma_req)
or die("Selection table \"niveau2\" impossible" );
 
// Affectation des variables utilisées pour l'affichage
if (mysql_num_rows($res_req)!=0) {  // résultat non vide
while ($une_ligne = mysql_fetch_array($res_req)) {
$id_niveau2 = $une_ligne["id_niveau2"];
$lib_niveau2 = $une_ligne["lib_niveau2"];
print "<option value=" . id_niveau2 . ">"  .  $lib_niveau2 .  "</option>";
}
}
?>
</select></td>
</tr>
 
 
 
------------------ suite du formulaire ------------------------------
 
</table>
</form>
</body>
</html>


Message édité par bricepan le 06-01-2006 à 14:54:46
Reply

Marsh Posté le 06-01-2006 à 14:43:57   

Reply

Marsh Posté le 06-01-2006 à 14:51:19    

mauvaise categorie, ici c'est du java [:pingouino]

Reply

Marsh Posté le 07-01-2006 à 14:17:29    

POur faire bien, et une navigation plus rapide pour les utilisateurs, y'a l'AJAX / XMLHTTPRequest.
 
Penche toit dessus, c super efficace :D
 
http://perso.wareteam.com/comment_ [...] _page-.php
(y'a un exemple en bas avec 2 combos ;) )

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed