Probleme affichage double liste deroulante
zguegos
-
zgueos -
zgueos -
Bonjour,
je viens vous demander de l'aide sur un petit point.
je suis en train de faire un formulaire de saisi interne pour ma societe, et je voudrai faire une partie avec une double liste deroulante ou la 1ere serai composé de la famille de la viande et la 2eme aparaitrait en fonction du choix de la 1ere. Pour ca j'ai une table famille avec 3 champs : id_fam ; cat_fam et nom_produit.
le principe : choisir dans la liste 1 soit du toro; du Boeuf; du Veau etc ... et selon le choix afficher la liste numero 2 comprenant le nom de la viande : gardianne , entrecote filet etc...
voici mon code :
<?php
echo"
<html>
<head>
<script type=\"text/javascript\">
function affiche_select( select ){
";
$req0 = "select distinct(cat_fam) from famille ";
$result = mysql_query($req0);
while ( $row = mysql_fetch_assoc($result) ){
echo"
document.getElementById(\"nom_produit_".$row['cat_fam']."\").style.visibility = 'hidden';
";
}
echo"
document.getElementById( 'nom_produit_' + select ).style.visibility = 'visible';
}
</script>
</head>
";
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("sollier"); // Sélection de la base sollier
echo"
<form method=\"post\">
<select name=\"cat_fam\" onChange=\"affiche_select(this.value)\">
<option>---Categorie---</option>
";
$req = "select distinct(cat_fam) from famille ";
$result = mysql_query($req);
while( $row = mysql_fetch_assoc($result) ){
echo"
<option value=\"".$row['cat_fam']."\">".$row['cat_fam']."</option>
";
}
echo"
</select>
";
$req = "select distinct(cat_fam) from famille ";
$result = mysql_query($req);
while( $row = mysql_fetch_assoc($result) ){
echo"
<select name=\"nom_produit_".$row['cat_fam']."\" id=\"nom_produit_".$row['cat_fam']."\" style=\"visibility:visible\">
<option>---produit---</option>
";
$req1 = "select distinct(nom_produit) from famille where cat_fam ='".$row[cat_fam]."' ";
$result1 = mysql_query($req1);
while( $row1 = mysql_fetch_assoc($result1) ){
echo"
<option value=\"".$row1['nom_produit']."\">".$row1['nom_produit']."</option>
";
}
echo"
</select>
";
}
echo"
</form>
";
?>
</html>
Le souci vien a la ligne 10 ( while ( $row = mysql_fetch_assoc($result) ){ ) avec un Warning .
Si qqun peu m'aider car c'est ma 1ere application en php .
merci d'avance a tous.
Stephan.
je viens vous demander de l'aide sur un petit point.
je suis en train de faire un formulaire de saisi interne pour ma societe, et je voudrai faire une partie avec une double liste deroulante ou la 1ere serai composé de la famille de la viande et la 2eme aparaitrait en fonction du choix de la 1ere. Pour ca j'ai une table famille avec 3 champs : id_fam ; cat_fam et nom_produit.
le principe : choisir dans la liste 1 soit du toro; du Boeuf; du Veau etc ... et selon le choix afficher la liste numero 2 comprenant le nom de la viande : gardianne , entrecote filet etc...
voici mon code :
<?php
echo"
<html>
<head>
<script type=\"text/javascript\">
function affiche_select( select ){
";
$req0 = "select distinct(cat_fam) from famille ";
$result = mysql_query($req0);
while ( $row = mysql_fetch_assoc($result) ){
echo"
document.getElementById(\"nom_produit_".$row['cat_fam']."\").style.visibility = 'hidden';
";
}
echo"
document.getElementById( 'nom_produit_' + select ).style.visibility = 'visible';
}
</script>
</head>
";
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("sollier"); // Sélection de la base sollier
echo"
<form method=\"post\">
<select name=\"cat_fam\" onChange=\"affiche_select(this.value)\">
<option>---Categorie---</option>
";
$req = "select distinct(cat_fam) from famille ";
$result = mysql_query($req);
while( $row = mysql_fetch_assoc($result) ){
echo"
<option value=\"".$row['cat_fam']."\">".$row['cat_fam']."</option>
";
}
echo"
</select>
";
$req = "select distinct(cat_fam) from famille ";
$result = mysql_query($req);
while( $row = mysql_fetch_assoc($result) ){
echo"
<select name=\"nom_produit_".$row['cat_fam']."\" id=\"nom_produit_".$row['cat_fam']."\" style=\"visibility:visible\">
<option>---produit---</option>
";
$req1 = "select distinct(nom_produit) from famille where cat_fam ='".$row[cat_fam]."' ";
$result1 = mysql_query($req1);
while( $row1 = mysql_fetch_assoc($result1) ){
echo"
<option value=\"".$row1['nom_produit']."\">".$row1['nom_produit']."</option>
";
}
echo"
</select>
";
}
echo"
</form>
";
?>
</html>
Le souci vien a la ligne 10 ( while ( $row = mysql_fetch_assoc($result) ){ ) avec un Warning .
Si qqun peu m'aider car c'est ma 1ere application en php .
merci d'avance a tous.
Stephan.
A voir également:
- Probleme affichage double liste deroulante
- Liste déroulante excel - Guide
- Double ecran - Guide
- Liste déroulante en cascade - Guide
- Whatsapp double sim - Guide
- Double driver - Télécharger - Pilotes & Matériel
9 réponses
Salut,
regarde plutot pas là : https://forum.hardware.fr/hfr/Programmation/HTML-CSS-Javascript/ajax-formulaire-deroulante-sujet_103590_1.htm
regarde plutot pas là : https://forum.hardware.fr/hfr/Programmation/HTML-CSS-Javascript/ajax-formulaire-deroulante-sujet_103590_1.htm
Salut, merci de ta reponse je suis allez voir et c'est pas exactement la meme chosecar moi je me seret d'une base de donnée pour afficher mes listes.
Mais j'ai trouvé la solution en faite c'est le :
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("sollier"); // Sélection de la base sollier
qui etait trop bas je l'ai remonté et ca roule.
Par contre 2 eme soucis : ma 2eme liste s'affiche bien selon le choix de ma 1ere mais si dans ma 1ere liste je prend la 3 eme proposition par exemple ben la liste numero 2 va s'afficher tres loin de la liste 1.
en faite ca va juste me caché les 2 premiere liste et les suivantes.
En gros mais 2eme liste sont juste caché et je prefererais qu'elle soit a coté de la 1ere liste deroulante...
Je ne sais pas si j'ai ete clair .
Si il y a besoin d'autres explication demandai moi.
Merci
Mais j'ai trouvé la solution en faite c'est le :
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("sollier"); // Sélection de la base sollier
qui etait trop bas je l'ai remonté et ca roule.
Par contre 2 eme soucis : ma 2eme liste s'affiche bien selon le choix de ma 1ere mais si dans ma 1ere liste je prend la 3 eme proposition par exemple ben la liste numero 2 va s'afficher tres loin de la liste 1.
en faite ca va juste me caché les 2 premiere liste et les suivantes.
En gros mais 2eme liste sont juste caché et je prefererais qu'elle soit a coté de la 1ere liste deroulante...
Je ne sais pas si j'ai ete clair .
Si il y a besoin d'autres explication demandai moi.
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bsr
Le souci vien a la ligne 10 ( while ( $row = mysql_fetch_assoc($result) ){ ) avec un Warning .
Quel est le message d'erreur exact retourné par php ? Warning ne suffit pas ...
Le souci vien a la ligne 10 ( while ( $row = mysql_fetch_assoc($result) ){ ) avec un Warning .
Quel est le message d'erreur exact retourné par php ? Warning ne suffit pas ...
Salut merci d'avoir repondu.
comme ecris un peu plus haut le soucis du warning a été résolu par contre 2 eme soucis : ma 2eme liste s'affiche bien selon le choix de ma 1ere mais si dans ma 1ere liste je prend la 3 eme proposition par exemple ben la liste numero 2 va s'afficher tres loin de la liste 1.
en faite ca va juste me caché les 2 premieres listes et les suivantes.
En gros mes 2eme liste sont juste caché et je prefererais qu'elle soit a coté de la 1ere liste deroulante...
Je ne sais pas si j'ai ete clair .
Si il y a besoin d'autres explication demandez moi.
Merci
comme ecris un peu plus haut le soucis du warning a été résolu par contre 2 eme soucis : ma 2eme liste s'affiche bien selon le choix de ma 1ere mais si dans ma 1ere liste je prend la 3 eme proposition par exemple ben la liste numero 2 va s'afficher tres loin de la liste 1.
en faite ca va juste me caché les 2 premieres listes et les suivantes.
En gros mes 2eme liste sont juste caché et je prefererais qu'elle soit a coté de la 1ere liste deroulante...
Je ne sais pas si j'ai ete clair .
Si il y a besoin d'autres explication demandez moi.
Merci