karaya Posté 16 Mai 2006 Posté 16 Mai 2006 Bonjour à tous. Pour ma page j'ai besoin que, lors d'une saisie, les mots correspondant s'affiche sous le champ de saisie, et que l'utilisateur puisse en sélectionner un. Pour cela j'ai une page php qui génère une page xml, et un javascript qui exploite cette page pour proposer à l'utilisateur les choix correspondant. En déclarant un tableau fixe dans la page php ça marche: $liste = array("choix1","choix2","choix3","choix4","choix5"); C'est en récupérant les éléments de la base de donnée que ça ne marche plus, pourtant en demandant d'afficher les 2 pages xml, générée par les 2 méthodes, elles sont exactement identiques: $liste = array();$query="SELECT champ1,champ2,champ3 FROM `table` ORDER BY champ1 ASC;";$result=mysql_query($query) or exit("echec :".mysql_error());while ($table=mysql_fetch_array($result)){ $liste[$i]=$table[0]." ".$table[1]; $i++;} Voilà maintenant la partie du fichier qui crée la liste exploitée par la java script: function generateOptions($debut,$liste) { $MAX_RETURN = 10; $i = 0; foreach ($liste as $element) { if ($i<$MAX_RETURN && substr($element, 0, strlen($debut))==$debut) { echo(utf8_encode("<option>".strtolower($element)."</option>")); $i++; } }} Je vous remercie d'avoir pris le temps de lire mon message, et je vous remercie d'avance pour toutes les réponses éventuelles. En espérant que vous puissez m'aidez à résoudre mon problème.
Bolbo Posté 16 Mai 2006 Posté 16 Mai 2006 Bonjour, Oriente toi vers l'ajax je pense, il y a un tuto qui a l'air pas mal fait sur developpez.com, mais je n'ai pas encore eu le temps de le lire en détail. http://dcabasson.developpez.com/articles/j...tion-pas-a-pas/ Bolbo
karaya Posté 16 Mai 2006 Auteur Posté 16 Mai 2006 c'est justement de ce tuto que je me suis inspiré. J'utilise le même fichier php à la seule différence que je change la création de la liste. Et en faisant ça ça ne marche plus. Je voudrais que la liste soit créé à partir de la base de donnée, et pas fixe comme dans l'exemple.
Bolbo Posté 16 Mai 2006 Posté 16 Mai 2006 Moi dans mon fichier options.php j'ai ca : <?phpheader('Content-Type: text/xml;charset=utf-8');echo(utf8_encode("<?xml version='1.0' encoding='UTF-8' ?><options>"));if (isset($_GET['debut'])) { $debut = utf8_decode($_GET['debut']);} else { $debut = "";}$debut = strtolower($debut);$liste=array();$sql="select distinct(nom) as nom from `".$_SESSION['table_contacts_form_actif']."` where `id_form_actif`='".$_SESSION['stat_id_form_actif']."' order by `nom`";$req=mysql_query($sql);while($res=mysql_fetch_array($req)){ $id=$res['id']; $nom=strtolower($res['nom']);// echo $id; array_push($liste,$nom);}mysql_free_result($req);//echo mysql_error();function generateOptions($debut,$liste) { $MAX_RETURN = 10; $i = 0; foreach ($liste as $element) { if ($i<$MAX_RETURN && substr($element, 0, strlen($debut))==$debut) { echo(utf8_encode("<option>".$element."</option>")); $i++; } }}generateOptions($debut,$liste);echo("</options>");;?>
karaya Posté 16 Mai 2006 Auteur Posté 16 Mai 2006 (modifié) merci beaucoup, je teste ça et je regarde ce que ça donne. edit: j'ai testé et... ça marche! Merci beaucoup!! Quelqu'un saurait pourquoi ça ne marchait pas? Modifié 16 Mai 2006 par karaya
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant