Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1386 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu !] liste déroulante dépendante (valeur non gardée)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu !] liste déroulante dépendante (valeur non gardée)

n°985865
gth29
Posté le 18-02-2005 à 11:11:04  profilanswer
 

Bonjour,
 
Je suis en train de faire un annuaire en PHP/MySQL. Mais j'ai un souci de listes déroulantes dépendantes. J'ai effectué des recherches sur internet et je tombe en gros toujours sur le même script. Dans ma première liste, j'ai bien mes différents choix. Mais le problème est qu'avec onchange, il recharge bien ma page et me met ma requête dans mon URL mais ne la sauvegarde pas dans mon script. Du coup, lors du rechargement, ma première liste redevient vierge avec les différents choix précédent et ma seconde est complètement vide car elle n'a aucune référence.
Je pense qu'avec mon script ce sera plus simple :

Code :
  1. $link = mysql_pconnect("localhost", "name", "password" ) or die ("Connexion impossible" );
  2. mysql_query("USE Exemple;" );
  3. // $query = "SELECT nom FROM societe";
  4. print "<form action=\"nouvelle personne.php\" method=\"post\">";
  5. //1ere liste
  6. $S1="<select name=\"listesociete\" onChange=\"this.form.action='$_SERVER[PHP_SELF]?_societe='+this.value;this.form.submit()\"><br>";
  7. $S1.="<option value=''></option>";
  8. // lors de la changement la page va etre reactualiser avec un nouveau parametre (la valeur de la liste)
  9. $req1="SELECT nom FROM societe ";
  10. $result1 = mysql_query($req1);
  11. while ($val1=mysql_fetch_array($result1))
  12. {
  13. //si on a deja choisi cette liste, i.e
  14. //si la valeur de la liste est dans l'url, on l'affecte a la liste par (selected)
  15. if(isset($_societe)) {
  16. if ($_societe==$val1[0]) $sel1="selected";
  17. echo "dans la boucle";
  18. }
  19. else {
  20. $sel1="";
  21. echo "pas dans la boucle";
  22. }
  23. //ajout de la ligne contenant le nom et le Texte à la liste
  24. $S1.="<option $sel1 value=\".$val1[0].\">$val1[0]</option><br>";
  25. }
  26. $S1.="</select><br>";
  27. print $S1; // affiche la liste deroulante
  28. //2eme liste
  29. $S2="<select name=\"listesite\"><br>";
  30. $S2.="<option value=''></option>";
  31. if(isset($_societe))
  32. {
  33. $req2="SELECT site FROM societe";
  34. $result2 = mysql_query($req2) or die ($req2.mysql_error());
  35. while ($val2=mysql_fetch_array($result2))
  36. {
  37. if(isset($_site )){
  38. if($_site==$val2[0]) $sel2="selected";
  39. }
  40. else $sel2="";
  41. $S2.="<option $sel2 value=$val2[0]>$val2[0]</option><br>";
  42. }
  43. }
  44. $S2.="</select><br>";
  45. print $S2;
  46. //print "y $listesociete";
  47. print ("<center><input type=\"submit\" value=\"envoyer\"></center>" );
  48. print "</form>";
  49. print "$sel1 et $sel2 $_site ";
  50. mysql_close($link);
  51. ?>


Comme vous pouvez le constater, si vous avez déjà fait des recherches la dessus, le script est très resemblant à ceux trouvés sur internet. Je dirais même que c'est du plaggia. Mais bon, je ne revendique pas ce script et j'aimerais comprendre pourquoi chez les autres apparament ca marche et pas chez moi.
 
Merci
 
GTH29
 
webographie : http://www.nexen.net/forum/read.ph [...] 70&t=49470


Message édité par gth29 le 24-02-2005 à 21:37:45
mood
Publicité
Posté le 18-02-2005 à 11:11:04  profilanswer
 

n°985900
soju
One shot !
Posté le 18-02-2005 à 11:25:58  profilanswer
 

- utilise $_GET
- ou verifie ta config register_globals
 
PS: stp utilise le bouton C/C++ pour poster du code

n°985969
gth29
Posté le 18-02-2005 à 11:56:29  profilanswer
 

Ok j'essai un peu tout ca. Désolé pour le post avec mon script, je tacherai de faire attention le prochain coup.
 
Merci
 
GTH29

n°985974
Xav_
The only one...
Posté le 18-02-2005 à 11:59:11  profilanswer
 

Citation :

Désolé pour le post avec mon script, je tacherai de faire attention le prochain coup.


 
ben il est pas trop tard pour les mettre les balises [c pp], t'a le super-méga-magique bouton "EDITER" qui fait des miracles ;)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°986057
Dj YeLL
$question = $to_be || !$to_be;
Posté le 18-02-2005 à 12:45:37  profilanswer
 

On peut même te filer le lien directement :
 
http://forum.hardware.fr/hardwaref [...] formulaire
 
:D


---------------
Gamertag: CoteBlack YeLL
n°992606
gth29
Posté le 24-02-2005 à 16:56:13  profilanswer
 

Alors c'est mieux ???
 
Encore désolé

n°992627
Xav_
The only one...
Posté le 24-02-2005 à 17:19:36  profilanswer
 

je comprend pas trop le:
mysql_query("USE Exemple;" );
 
c'est pour sélectionner ta base ??? pkoi pas un mysql_select_db() ???
 
et aussi, "ça marche pas" c'est très bien comme explication, mais c'est nul !!! ;)
nan, sérieusement, t'a une erreur ? si oui PHP ? MySQL ?
T'a fait un print de tes requetes pour voir si elle sont bien formatées ?
En plus t'a pas indenté ton code, ce qui aide pas à le lire...
 
A tu regardé du coté de ce que t'a dis soju ? et pis le action de ton form est "post" donc c'est $_POST['ta_var'] pour  récupérer ;)
 
PS: désolé si le ton te parait méchant ou moqueur, ce n'est pas le but...  
mais tu viens tu fous un code que tu avous avoir piquer ailleurs, tu colle les 60 lignes comme ça et tu balance un "ça marche pas, expliquez-moi pourquoi" !!!
 
Ben c'est pas trop le genre de truc que j'aime voir...http://webxav.chez.tiscali.fr/gif/src1/al1-snip.gif


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°992951
gth29
Posté le 24-02-2005 à 21:37:13  profilanswer
 

Tout d'abord, je suis encore désolé pour le post du script. Je viens de débuter en PHP/MySQL. Et pour ne pas faire le méchant à mon tour, j'ai précisé que le problème se situait au niveau de OnChange (Je l'admais, c'est pas du php).  
Pour ce qui concerne mysql_query c'est qu'avec easyphp, il me conseillait de le faire avec mysql_query(). J'ai essayé avec la méthode de Soju et en fait, j'ai trouvé avec son indication que je ne n'affectait jamais $societe. Donc, il ne pouvait pas rentré dans la boucle du if vu que $societe n'existait jamais.
Donc voilà.
Encore désolé


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu !] liste déroulante dépendante (valeur non gardée)

 

Sujets relatifs
[C#/VB.NET] [Résolu] Equivalent de GetObject ?[resolu]Texte inséré automatiquement dans formulaire
pb avec une chaine de caractères [RESOLU]Connexion à MySQL [RESOLU]
Liste dynamique avec check boxListe dynamique avec check box
Problème de Procedure avec liste chainée et fichierSyntaxe de l'évènement onclick! [RESOLU]
[PHP] [RESOLU] Session et variables qui n'en fait qu'a ça tete.Problème d'overflow d'un cadre sur IE : ça foire en largeur [Résolu]
Plus de sujets relatifs à : [Résolu !] liste déroulante dépendante (valeur non gardée)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR