Liste deroulante liaison avec champ texte

Signaler
Messages postés
10
Date d'inscription
dimanche 21 décembre 2003
Statut
Membre
Dernière intervention
9 avril 2012
-
Messages postés
10
Date d'inscription
dimanche 21 décembre 2003
Statut
Membre
Dernière intervention
9 avril 2012
-
Bonjour à tous,
une question qui va vous paraître "bête" mais je me casse la tête sans trouver la réponse :
j'ai une base mysql avec
nom_de_rue
commune
secteur etc...
a partir d une liste déroulante ou apparaissent les nom_de_rue (ça c'est facile... )
en cliquant sur cette derniére, je voudrais afficher la commune correpondante dans ma base.
j'ai testé avec un form en POST et submit sur onChange pour récupérer la valeur de la liste et ensuite je fais une requête où je me sers de la variable $_POST['nom_de_rue']
mais cela ne fonctionne pas trés bien et en plus avec submit je remets à zéro ma liste déroulante donc pas bon pour une saisie...
la piste serait une fonction (en java ou php) qui récupére à la fois la valeur de la liste et
sa correspondance du champ commune dans ma base, mais j'y arrive pas !
merci de votre aide, je tatonne encore en php
cordialement




jm30

6 réponses

Messages postés
289
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2010
3
Bonjour a mon avis tu devrait te tourner vers l'ajax pour faire ce que tu souhaite, et tu lancerais la requête ajax sur l'évènement onBlur de ton champs de saisie.
Si tu as des question ou autre n'hésite pas et si tu peux mais un bout de code ca peut toujours etre utile.

Personne ne peut se permettre de juger l'autre....
Messages postés
10
Date d'inscription
dimanche 21 décembre 2003
Statut
Membre
Dernière intervention
9 avril 2012

@sebastien merci de ta réponse
je ne connais pas ajax, ce sera l'occasion de "creuser" le sujet..
par contre, depuis mon post j'ai trouvé la solution (en php) avec un POST et 'onchange'
où je refais une requete. je poste mon résultat
merci encore



<select name="liste1" onchange=" form1.submit();">
<option value=-1>-- Selectionnez le nom de la voie -- </option> <!--  il faut cette ligne pour avoir obligatoirement un changement -->
<?php

$connection = mysql_connect('localhost', 'root', '');
$base = mysql_select_db('otv');

$requete = "SELECT rue FROM mcrue";
$execution_requete = mysql_query($requete);
while($total = mysql_fetch_array($execution_requete))

//Liste déroulante

{
echo "<option value="".$total["rue"].""";
if($liste1==$total['rue']) { echo "selected"; }//ça c'est pour garder la selection lors du réaffichage
echo ">".$total['rue']."</option>\n";
}

?>
 </select>
</form>

Localite   " >


jm30
Messages postés
289
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2010
3
re c'est cool que tu ai la solution mais avec celle-ci tu recharge ta page a chaque fois ce qui utilise des ressource alors que l'ajax se fait sans rechargement de la page.
a toi d'utiliser la solution que tu veux bonne continuation



Personne ne peut se permettre de juger l'autre....
Messages postés
10
Date d'inscription
dimanche 21 décembre 2003
Statut
Membre
Dernière intervention
9 avril 2012

ok, merci
c'est vrai que cette solution n'est pas idéale et je vais tenter ma chance en ajax :
mais là, ce sera de la découverte
merci encore


jm30
Messages postés
289
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2010
3
ok si tu ne comprend pas quelque chose n'hésite pas.

Personne ne peut se permettre de juger l'autre....
Messages postés
10
Date d'inscription
dimanche 21 décembre 2003
Statut
Membre
Dernière intervention
9 avril 2012

Bonjour à nouveau à tous :
je reviens à la charge pour une question que je n'arrive pas à résoudre:
je voudrais pouvoir envoyer via un script java 2 variables (nom_de_rue et nom_ville) pour la récupérer dans une page php où j'ai un 'select...' dans une base mysql
mon code java :

function Montre_rue(str)
{

if (str=="")
  {

   document.getElementById("txtrue").innerHTML="";
  return;
  } 
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5

  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtrue").innerHTML=xmlhttp.responseText;
    document.getElementById("txtsecteur").innerHTML='';

    }
  }

xmlhttp.open("GET","getuser.php?v="+str,true);
xmlhttp.send();
}
</script>



le passage des deux variables se ferait par le "xmlhttp.open("GET","getuser.php?v="+str,true);"
dés que je rajoute, par exemple :getuser.php?v="+str&t="str
ça coince ! merci de votre aide
cordialement

jm30