FORUM Tom's Hardware » Programmation » HTML / Javascript » Listes deroulantes liées
 

Listes deroulantes liées

Il y a 414 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Listes deroulantes liées
 
Plus d'informations

Hello tout le monde,
 
J'ai un petit problème avec une page.
Cette page en php contient :
- des listes déroulantes de noms prise dans une base de données Mysql  
- des listes déroulantes de prénoms prise dans une base de données Mysql
- La liste des prenoms dépend du nom choisis
 
Cette page fonctionne.
Mais comme elle est faites en php. A chaque fois, que l'on choisit un nom, on est obligé de recharger la page entière pour avoir les prénoms correspondants.
 
J'ai cru voir qu'il fallait utiliser AJAX pour mettre à jour les lsites sans devoir recharger la page.
Je connais pas du tout le Javascript,quelqu'un pourrait t'il me guider un peu (me donner les étapes)?
Je dois d'abord essayé de mettre l'ensemble des nom et prenom dans un tableau ou alors, je peux travailler avec la bdd?
 
 
 
Merci d'avance pour votre aide.
 

Profil : Pointeur
Plus d'informations

avoues que tu as pas essayer de demander a google avant :o


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

Ben si ... mais j'ai du mal à appréhender comment je peut travailler sur la BDD avec un langage coté client.
Et je ne veux pas faire des bêtes copié-collé à l'arrache pour faire un code dégoutant.
 
La je lis de la doc sur le java, si j'ai bien compris de toute façon .. il faudra que j'envoie toutes les données avec le php et que  je les traite apres avec le Javascript?
C'est ça?

Plus d'informations

j'ai trouvé un bon tuto par hasard sur :  
http://robloche.free.fr/javascript [...] o_xhr.html

Plus d'informations

euuh problème.
 
j'ai essayé les scripts du tuto pour m'entrainer et j'ai une erreur :
"acces refusé".
 
une petite idée, O grand kangol? (ca fait pas trop léche cul comme ça  :lol: )


Message édité par sisier le 06-04-2007 à 21:05:03
Profil : Pointeur
Plus d'informations

quand ? avec quel navigateur ?
un bout de code ? (pas le temps de refaire le tuto)


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

Le problème vient sur IE.
J'ai pas testé avec Firefox.
 
Merci de ton aide :)
 

Code :
  1. <html>
  2. <script type="text/javascript">
  3. function requete (f)
  4. {
  5.             var xhr_object = null; 
  6.          
  7.          if(window.XMLHttpRequest) // Firefox   
  8.          {
  9.             xhr_object = new XMLHttpRequest(); 
  10. }
  11.          else if(window.ActiveXObject) // Internet Explorer   
  12.          {
  13.             xhr_object = new ActiveXObject("Microsoft.XMLHTTP" ); 
  14.             }
  15.          else
  16.          { // XMLHttpRequest non supporté par le navigateur   
  17.             alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..." ); 
  18.            
  19.          } 
  20.          
  21.          var method   = f.elements["method"][0].checked ? "GET" : "POST"; 
  22.          var filename = "strings2.php"; 
  23.          var s1       = f.elements["string1"].value; 
  24.          var s2       = f.elements["string2"].value; 
  25.          var data     = null; 
  26.          
  27.          if(s1 != "" && s2 != "" ) 
  28.          {
  29.             data = "s1="+s1+"&s2="+s2; 
  30. }
  31.          
  32.          if(method == "GET" && data != null)
  33.          { 
  34.             filename += "?"+data; 
  35.             data      = null; 
  36.          } 
  37.          
  38.          xhr_object.open(method, filename, true); 
  39.          
  40.          xhr_object.onreadystatechange = function() { 
  41.             if(xhr_object.readyState == 4) { 
  42.                var tmp = xhr_object.responseText.split(":" ); 
  43.                if(typeof(tmp[1]) != "undefined" ) { 
  44.                   f.elements["string1_r"].value = tmp[1]; 
  45.                  f.elements["string2_r"].value = tmp[2]; 
  46.                alert(tmp[0]); 
  47.                 } 
  48.             } 
  49.         }
  50.          
  51.          if(method == "POST" ) 
  52.             {
  53.             xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded" ); 
  54.            }
  55.          
  56.          xhr_object.send(data); 
  57. }
  58. </script>
  59. <body>
  60. <div class="Centered">
  61.     <form class="CenteredForm" name="form_strings2" id="form_strings2" action="" method="" onsubmit=";">
  62.         <fieldset>
  63.             <legend>Entrez deux chaînes et choisissez une méthode de transmission</legend>
  64.             <div class="Left">
  65.             Chaîne 1&nbsp;: <input type="text" name="string1" id="string1" size="10" /> -> <input type="text" name="string1_c" id="string1_r" size="10" disabled="disabled" /><br />
  66.             Chaîne 2&nbsp;: <input type="text" name="string2" id="string2" size="10" /> -> <input type="text" name="string2_c" id="string2_r" size="10" disabled="disabled" /><br />
  67.             Méthode&nbsp;: <input type="radio" name="method" id="method_get" value="GET" checked="checked" />get <input type="radio" name="method" id="method_post" value="POST" />post<br />
  68.             </div>
  69.         </fieldset>
  70.         <input type="button" class="ButtonXL" value="Exécuter l'exemple" onclick="requete(this.form)" />
  71.     </form>
  72. </div>
  73. </body>
  74. <html>


 
 
 
strings2.php

Code :
  1. header('Content-type: text/html; charset=iso-8859-1'); 
  2. <?php 
  3. if(count($_POST) > 0) { 
  4.     echo "Données reçues en POST:"; 
  5.     foreach($_POST as $v) 
  6.        echo strrev(utf8_decode($v)).":"; 
  7. elseif(count($_GET) > 0) { 
  8.     echo "Données reçues en GET:"; 
  9.     foreach($_GET as $v) 
  10.        echo strrev($v).":"; 
  11.  
  12. if(count($_POST) == 0 && count($_GET) == 0) 
  13.      echo 'Aucune donnée n\'a été reçue par "'.basename($_SERVER["PHP_SELF"]).'"...'; 
  14. ?>


Message édité par sisier le 07-04-2007 à 17:26:21
Profil : Pointeur
Plus d'informations

et c'est qui qui te dit "accès refusé" ?


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
G.M.G.V.S.O.
Profil : Modo matériel
Plus d'informations

Sans rapport avec le pb,
 
quite a renvoyer un header, renvoie un charset correct ;)
iso-8859-15 Sinon adieux les € et autres o-e-dans-l-o


---------------
SPAM & WAREZ = Ban!
Ultimate Boot CD | Memtest+
Mon bar préféré à Lyon ! | Bijoux Fantaisie de Créateur !
Plus d'informations

a écrit :

et c'est qui qui te dit "accès refusé" ?


 
Ben quand je veux exécuter le script dans internet explorer. Il ne fait rien. Donc je vais voir les erreurs dans le navigateur.
Il me marque : "acces refusé".
 
 
Merci boubpopsyteam pour la précision  :jap:


Message édité par sisier le 08-04-2007 à 17:23:10
www.roodali.com
Plus d'informations

salut, dans cet exemple la partie ajax n'est pas bien définie,
exemple de scripts avec 2 listes déroulantes:  
http://www.roodali.com/index.php?2 [...] -mysql-php
et tu peux télécharger le script


---------------
www.roodali.com script gratuits
Dans l'immense univers qu'est le web, dont google est la voie lactée, nous essayons chacun d'être une étoile ou de devenir une constellation

Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » HTML / Javascript » Listes deroulantes liées
 

Annonces Google
Publicité