[PHP/MySQL] listes déroulantes HELP !!
Résolu/Fermé
elsadelatoundra
Messages postés
126
Date d'inscription
mercredi 13 septembre 2006
Statut
Membre
Dernière intervention
3 juillet 2008
-
15 sept. 2006 à 10:36
DESIGN - 4 avril 2007 à 21:08
DESIGN - 4 avril 2007 à 21:08
A voir également:
- [PHP/MySQL] listes déroulantes HELP !!
- Easy php - Télécharger - Divers Web & Internet
- Listes déroulantes en cascade excel - Guide
- Créer des listes déroulantes excel - Guide
- Mysql community server - Télécharger - Bases de données
- Error 2002 (hy000): can't connect to local mysql server through socket '/var/lib/mysql/mysql.sock' (2) ✓ - Forum Linux / Unix
7 réponses
ceddec
Messages postés
148
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
10 mars 2012
82
15 sept. 2006 à 17:48
15 sept. 2006 à 17:48
Bonjour,
Pour ton premier problème :
Il suffit de faire un test pour savoir si le premier formulaire a été validé (avec isset). Et si c'est le cas, on compar la ligne actuelle avec le resultat du formulaire. Si c'est le même identifiant on dit que ce sera la valeur par defaut de la liste. Normalement ca donnerait :
Pour ton deuxième problème, je ne vois pas le problème si ce n'est que ta requête est pas idéale :
Dans ta requête tu importe ACTIVITE_RSSI alors que tu ne l'utilises pas! De plus si sa.ACTIVITE_ID est un entier (comme je le pense), il ne faut pas mettre de quote autour. La requête serait donc :
Pour ton premier problème :
Il suffit de faire un test pour savoir si le premier formulaire a été validé (avec isset). Et si c'est le cas, on compar la ligne actuelle avec le resultat du formulaire. Si c'est le même identifiant on dit que ce sera la valeur par defaut de la liste. Normalement ca donnerait :
echo'<form method="post" action=""><select name="ACTIVITE_ID" class="form_text" style="width:300px" onchange="this.form.submit();">'; while($ligne=mysql_fetch_array($resultat1)) { extract($ligne); if ($NOM_ACTIVITE<>"") { if(isset($_POST['$ACTIVITE_ID']) && $_POST['$ACTIVITE_ID']==$ACTIVITE_ID) $defaut="selected"; else $defaut=""; echo "<option value='$ACTIVITE_ID' $defaut>$NOM_ACTIVITE</option>\n"; } } echo "</select>\n"; echo "</form>";
Pour ton deuxième problème, je ne vois pas le problème si ce n'est que ta requête est pas idéale :
$requete2="SELECT sa.* FROM SOUS_ACTIVITE_RSSI sa, ACTIVITE_RSSI a WHERE sa.ACTIVITE_ID='".$_POST["ACTIVITE_ID"]."'";
Dans ta requête tu importe ACTIVITE_RSSI alors que tu ne l'utilises pas! De plus si sa.ACTIVITE_ID est un entier (comme je le pense), il ne faut pas mettre de quote autour. La requête serait donc :
$requete2="SELECT * FROM SOUS_ACTIVITE_RSSI WHERE ACTIVITE_ID=".$_POST["ACTIVITE_ID"].";
elsadelatoundra
Messages postés
126
Date d'inscription
mercredi 13 septembre 2006
Statut
Membre
Dernière intervention
3 juillet 2008
14
15 sept. 2006 à 18:23
15 sept. 2006 à 18:23
Merci ceddec de t'être pencher sur mes petits sushis !
Je ne pourrais pas tester les modifs de mon code avant lundi, mais je pense les comprendre et donc j'imagine que lundi, je serai heureuse de voir que c'est possible !!
Merci, je reposterai si ça continue de foirer ;-)
Je ne pourrais pas tester les modifs de mon code avant lundi, mais je pense les comprendre et donc j'imagine que lundi, je serai heureuse de voir que c'est possible !!
Merci, je reposterai si ça continue de foirer ;-)
elsadelatoundra
Messages postés
126
Date d'inscription
mercredi 13 septembre 2006
Statut
Membre
Dernière intervention
3 juillet 2008
14
18 sept. 2006 à 09:14
18 sept. 2006 à 09:14
Lundi matin ... depuis vendredi soir j'avais envie de tester ta solution ceddec ... La solution au deuxième problème marche nikel, mais celle au premier non !
Je ne sais vraiment toujours pas quoi faire ... J'ai beau y réfléchir, je ne comprends pas pourquoi la solution que tu m'a proposée n'est pas la bonne :'(
Si quelqu'un sait, je suis preneuse !!
Merci d'avance ...
Je ne sais vraiment toujours pas quoi faire ... J'ai beau y réfléchir, je ne comprends pas pourquoi la solution que tu m'a proposée n'est pas la bonne :'(
Si quelqu'un sait, je suis preneuse !!
Merci d'avance ...
ceddec
Messages postés
148
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
10 mars 2012
82
18 sept. 2006 à 19:21
18 sept. 2006 à 19:21
Bonjour,
J'ai testé parce que je trouvait bizar que ça ne marche pas. Et en fait c'est une erreur toute bete :
Voici l'ancien test :
l'erreur est que dans $_POST[..], il ne faut pas remettre le $
Le test devient donc
et voila ca marche
C'est une erreur de copier coller
J'ai testé parce que je trouvait bizar que ça ne marche pas. Et en fait c'est une erreur toute bete :
Voici l'ancien test :
if(isset($_POST['$ACTIVITE_ID']) && $_POST['$ACTIVITE_ID']==$ACTIVITE_ID)
l'erreur est que dans $_POST[..], il ne faut pas remettre le $
Le test devient donc
if(isset($_POST['ACTIVITE_ID']) && $_POST['ACTIVITE_ID']==$ACTIVITE_ID)
et voila ca marche
C'est une erreur de copier coller
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
elsadelatoundra
Messages postés
126
Date d'inscription
mercredi 13 septembre 2006
Statut
Membre
Dernière intervention
3 juillet 2008
14
18 sept. 2006 à 21:07
18 sept. 2006 à 21:07
Cool !!
J'ai cherché ce matin et ça devait trop être la matin !! Je teste ça dès demain matin après 2 ou 3 cocas ...
Merci beaucoup ceddec !
J'ai cherché ce matin et ça devait trop être la matin !! Je teste ça dès demain matin après 2 ou 3 cocas ...
Merci beaucoup ceddec !
ceddec
Messages postés
148
Date d'inscription
dimanche 31 juillet 2005
Statut
Membre
Dernière intervention
10 mars 2012
82
19 sept. 2006 à 16:54
19 sept. 2006 à 16:54
Je n'ai pas remarqué tout de suite mais le fait de faire un onchange=submit peut poser problème. En effet, si l'utilisateur veut choisir la première valeur (domaine1), il ne la changera pas puisqu'elle y est deja. Et donc le onChange ne se fera pas et il sera bloqué.
Il vaut mieux mettre un premier choix blanc pour l'obliger à changer ta liste. Le code devient :
C'est une petite remarque qui m'est venue comme ça à l'esprit dans la journée
Il vaut mieux mettre un premier choix blanc pour l'obliger à changer ta liste. Le code devient :
echo'<form method="post" action=""><select name="ACTIVITE_ID" class="form_text" style="width:300px" onchange="this.form.submit();"><option></option>';
C'est une petite remarque qui m'est venue comme ça à l'esprit dans la journée
elsadelatoundra
Messages postés
126
Date d'inscription
mercredi 13 septembre 2006
Statut
Membre
Dernière intervention
3 juillet 2008
14
20 sept. 2006 à 08:41
20 sept. 2006 à 08:41
Merci ceddec,
Tout marche enfin super bien !!
En plus l'idée de laisser le champ blanc était très bonne ... alors je suis contente !
Encore merci !
Tout marche enfin super bien !!
En plus l'idée de laisser le champ blanc était très bonne ... alors je suis contente !
Encore merci !