Affichage liste déroulante php et html SVPPPP

Fermé
mehdi9833 Messages postés 88 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 23 mars 2010 - 8 déc. 2009 à 15:36
Narkos Messages postés 27 Date d'inscription vendredi 4 septembre 2009 Statut Membre Dernière intervention 17 janvier 2010 - 8 déc. 2009 à 16:24
Bonjour à tous,

j'ai une premiére liste déroulante où s'affiche les classe de produit (telephonie,sécurité...) qui s'éxécute via une requête sql et j'ai une 2éme liste déroulante où s'affiche les ligne produit en fonction de la classe produit séléctionné ds la 1ére liste déroulante. Dc l'affichage ds la 2nde liste déroulante dépend de la selection ds la 1ére liste déroulante...mais je n'y arrive pas trop,donc un peu d'aide serait la bienvenu.
MERCII d'avance,
Voici mon code :

<!--
Commentaires HTML
On construit une liste déroulante ( un select et plusieurs options)
Chaque option sera remplie par une donnée SQL récupérée par notre requête PHP
-->

<select name="champ">
<?php
//On se connecte
connectMaBase();
//On prépare la requête SQL qui récupère les champs
$sql = 'SELECT distinct strClasseProduit FROM `article_criteres_recherche`';

/* On lance la requête (mysql_query)
et on impose un message d'erreur si la requête ne passe pas (or die) */

$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
//On scanne le résultat et on construit chaque option avec
while($data = mysql_fetch_array($req)){
// on affiche chaque champ
echo '<option name="'.$data['strClasseProduit'].'">'.$data['strClasseProduit'].'</option>';
}
//On libère mysql de cette première requête
mysql_free_result ($req);
//On ferme le select
?>
</select>
<BR>
<BR>
<select name="champ1">
<?php
//On se connecte
connectMaBase();
//On prépare la requête SQL qui récupère les champs
//$sql1 = 'SELECT distinct `strLigneProduit` FROM `article_criteres_recherche` WHERE `strClasseProduit` ="'.$champ.'"';
$sql1 = 'SELECT DISTINCT `strLigneProduit` FROM `article_criteres_recherche` WHERE '.$champ1.'="'.$champ.'"';
//ou cette requête $sql1 = 'SELECT distinct `strLigneProduit` FROM `article_criteres_recherche`';
/* On lance la requête (mysql_query)
et on impose un message d'erreur si la requête ne passe pas (or die) */
$req1 = mysql_query($sql1) or die('Erreur SQL !<br />'.$sql1.'<br />'.mysql_error());
//On scanne le résultat et on construit chaque option avec
while($data1 = mysql_fetch_array($req1)){
// on affiche chaque champ
echo '<option name="'.$data1['strLigneProduit'].'">'.$data1['strLigneProduit'].'</option>';
}
//On libère mysql de cette première requête
mysql_free_result ($req1);
//On ferme le select
?>

</select>
A voir également:

5 réponses

Pilow Messages postés 400 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 23 décembre 2009 71
8 déc. 2009 à 15:40
Bonjour,

Je te conseil de réviser les différences entre PHP, javascript et AJAX

Ce que tu cherche à faire c'est de l'AJAX, c'est à dire du PHP en fonction d'un événement Javascript
Donc une action côté serveur en fonction d'une action côté client.

Tu ne peux pas gérer ce cas en PHP uniquement
C'est au minimum Javascript + PHP (afficher/cacher plein de liste déroulant en fonction du choix), mais en AJAX c'est le top :P
0
mehdi9833 Messages postés 88 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 23 mars 2010 4
8 déc. 2009 à 15:51
ok je te remercie et en AJAX as tu une idée??
0
Pilow Messages postés 400 Date d'inscription vendredi 2 octobre 2009 Statut Membre Dernière intervention 23 décembre 2009 71
8 déc. 2009 à 15:57
En ajax le principe :

Tu crée ton premier SELECT champ

Tu rajoute : Onchange="fonction_javascript()" dans ta balise select

Et dans ta fonction en javascript tu fais appel a une page PHP à laquelle tu peux envoyer des valeur javascript
Donc tu appel un page effectuant ta requête SQL pour ton deuxième SELECT en lui envoyant en parametre document.getElementById('champ').value
Ensuite, en javascript, tu modifie les valeur de ton deuxième menu déroulant en fonction du résultat de ta page php
0
mehdi9833 Messages postés 88 Date d'inscription vendredi 16 octobre 2009 Statut Membre Dernière intervention 23 mars 2010 4
8 déc. 2009 à 16:02
ok c'est un peu du chinois pour moi mais je vais essayer de bosser dessus(enfin me forcer).je te remercie Pilow
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Narkos Messages postés 27 Date d'inscription vendredi 4 septembre 2009 Statut Membre Dernière intervention 17 janvier 2010 1
8 déc. 2009 à 16:24
Hello,

en voyant ce post j'ai failli répondre, mais je m'apercoi que "mehdi9833" ne travail pas beaucoup!

J'ai répondu à ton 1er sujet pour ta liste déroulante qui se remplissait pas:
https://forums.commentcamarche.net/forum/affich-15523274-affichage-resultat-requete-ds-tableau-dynamiq

Et maintenant que tu as la solution pour ton code, tu demandes la suite...
C'est pas en te faisant faire chaque partie de code que tu apprendra...
Et de plus, quand tu saura le faire toi, tu verra que tu gagnera du temps...

Enfin bon, je croyais t'aider, mais là suis déçu...
Quand je verrais que TON code progresser je t'aiderais volontier, mais tant que c'est pour faire ton taff je m'abonne absent...

aller quand même bonne continuation pour ton projet.
à plus
0