Partage
  • Partager sur Facebook
  • Partager sur Twitter

masquer une partie du select ?

Sujet résolu
    30 novembre 2010 à 18:10:38

    bonjour,

    j'ai récupéré dans une variable la concaténation de ville,cp,lon,lat pour ensuite éclater tout ça et calculer des distances entre 2 villes.
    La personne tape les premières lettres de la ville et retrouve dans le select les villes proposées + dep, longitude et latitude. J'aimerais que ne soient affichés que la ville et le code postal. longitude et latitude sont récupérés dans des input hidden.
    je ne sais pas si c'est possible. mais merci d'avance.

    function completionVilleb(value) { 
        //alert(value);
        $.post('villesbville.php', { cpb : value },
        function success(data){
            
            var the_option = data.split('/')
    		   
            if(the_option.length > 0){
                for(i = 0; i < the_option.length; i++){
                    document.forms['the_form'].villeb.options[i] = new Option(the_option[i],the_option[i]);
    		
                }
            }
            else{
                document.forms['the_form'].villeb.options[0] = new Option(data,data);
            }
         });
    }
    
    function departementdep2(value) { 
    
    var chaine = document.forms["the_form"].villeb.value;
    longueur = document.forms["the_form"].villeb.value.length;
    
    if (document.forms["the_form"].villeb.value != ""){
    
    	document.forms["the_form"].depdep2.value = chaine.substr(longueur-24,2);
    	document.forms["the_form"].depdep2.value = chaine.substr(longueur-24,2);
    	document.forms["the_form"].londep2.value = chaine.substr(longueur-21,10);
    	document.forms["the_form"].latdep2.value = chaine.substr(longueur-10,10);
    }
    }
    

    et le php :
    <td><div align="right" class="margin3"><span class="bodyText style7">*</span><label for="objet">Ville :</label></div></td>
    		<td><input type="text" size="20"  maxlength="20" name="cpb" onkeyup="completionVilleb(this.value);" /></td>
    	  </tr>
    		<tr><td></td>
    		<td><select name="villeb" id="villeb" >
                <!--<option value="">Choix</option>-->
            </select>
    		</td>
    		</tr>
    		<tr>
    		<td><div align="right" class="margin3"><span class="bodyText style7">*</span><label for="objet">Dep :</label></div></td>
    		<td><input type="text" size="2"  maxlength="2" name="depret2" id="depret2"  input value="dep" onkeyup="departementret2(this.value);" /></td> 
            <td>&nbsp;</td>
    		</tr>
    
    		<tr></tr>
    		<tr>
    		<td><input type="hidden" size="10"  maxlength="10" name="lonret2" id="lonret2"  input value="lon" onkeyup="departementret2(this.value);" /></td> 
    		<td><input type="hidden" size="10"  maxlength="10" name="latret2" id="latret2"  input value="lat" onkeyup="departementret2(this.value);" /></td>
    
    • Partager sur Facebook
    • Partager sur Twitter
      30 novembre 2010 à 19:58:41

      Quand tu fais une liste, il y a deux parties:
      - la première est ce que l'utilisateur vois quand il déroule la liste
      - la valeur qui est attribuer a cette dernière, et sa l'utilisateur ne le vois pas.

      Donc pas besoin de input hidden mais un simple:
      <option value="ville-codePostale-longitude-latitude">Ville - code postale</option>
      
      • Partager sur Facebook
      • Partager sur Twitter
      $2b||!$2b
        1 décembre 2010 à 11:06:37

        ça c'est pour le titre du select. je veux cacher les valeurs long et lat dans la liste déroulante du select.
        • Partager sur Facebook
        • Partager sur Twitter
          1 décembre 2010 à 12:25:56

          skuti parle bien des options. Autrement dit de la liste déroulante du select.
          • Partager sur Facebook
          • Partager sur Twitter
            1 décembre 2010 à 13:21:23

            dans ce cas je ne vois pas...
            dans le select je mets la variable qui contient ville-cp-lon-lat.
            dans option value : je mets la variable qui contient ville-cp
            <select name="villeb" id="villeb" >
            		<option value="villecp2">Ville - code postale</option>
            
                        <!--<option value="">Choix</option>-->
                    </select>
            

            je récupère toutes les valeurs.
            • Partager sur Facebook
            • Partager sur Twitter
              1 décembre 2010 à 14:33:41

              Non ce que tu fais c'est mettre dans option value la variable qui contient ville-cp-lon-lat et mettre entre les <option></option> la variable qui contient ville-cp.
              Un petit exemple:
              var infoConcatene = "ville-cp-lon-lat";
              var tabInfo = infoConcatene.split('-');
              var villeCp = tabInfo[0] + '-' + tabInfo[1];
              var newList;
              
              newList = '<select name="ville">';
              newList += '<option value="'+infoConcatene+'">'+villeCp+'</option>';
              newList += '</select>';
              


              Bon j'ai fais n'importe quoi mais l'idée y est ^^
              • Partager sur Facebook
              • Partager sur Twitter
              $2b||!$2b
                1 décembre 2010 à 14:54:11

                c'est justement la syntaxe qui me pose problème. je suis obligé de passer par du js? Direct en php, ça ne marche pas?
                <select name="villecp2" id="villeb" >
                	<option value="villeb">'+villecp2+'</option>
                </select>
                

                villecp2 = ville +dep
                villeb = ville +dep + lon +lat
                • Partager sur Facebook
                • Partager sur Twitter
                  1 décembre 2010 à 17:18:42

                  Bien sur que si ça fonctionne en PHP. Mais comme tu le fais en AJAX...

                  Après tu as 2 solutions :
                  • Soit tu génères ta liste déroulante directement dans le fichier PHP et tu récupères le résultat HTML.
                  • Soit tu récupères les données brutes et tu crées ta liste sur ta page appelante, et là tu devras le faire en JS (du moins c'est plus pratique, sinon il faut récupérer le tableau JS pour le mettre dans un tableau PHP, c'est un peu débile).


                  A ta place je ferais ça proprement : récupération des données au format JSON puis parsage du JSON en JS et création dynamique de la liste.
                  Si tu as besoin d'aide pour ça je peux te montrer.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    1 décembre 2010 à 17:36:53

                    le veux bien de l'aide , je ne connais pas tous les mots que tu as écrits...
                    j'en suis là pour l'instant , ça ne marche pas ....:
                    <select name="villeb" id="villeb" >
                    	<option value="villeb"><?php echo $villecp2; ?></option>
                    </select>
                    
                    • Partager sur Facebook
                    • Partager sur Twitter
                      1 décembre 2010 à 17:40:04

                      Les données viennent d'une base de données ? Que renvoie villesbville.php comme résultat ?

                      Et dis-nous quel est le but du script, pour qu'on comprenne mieux le contexte.

                      De plus je vois que tu utilises jQuery ($.post), or tu n'exploites pas ses avantages, parce que tu ne connais pas ? Tu devrais te documenter. :)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        1 décembre 2010 à 17:50:59

                        effectivement, je débute dans le js.
                        villesbville renvoie ville+cp+longitude+latitude d'un select de bdd.
                        dans le select, l'utilisateur choisi les ville de départ et de fin (avec affichés ville+cp+lon+lat : c'est là que je veux cacher lon+lat).
                        ensuite ,je récupère la sélection et je mets lon et lat dans des hidden qui me permettent de calculer la distance entre les 2 villes.
                        c'est un peu l'usine à gaz, mais je le redis , je débute ...
                        • Partager sur Facebook
                        • Partager sur Twitter
                          1 décembre 2010 à 18:48:36

                          Ok, si tu veux que je t'aide il va falloir me donner tous les éléments (structure et extrait de données des tables MySQL), fichier PHP appelé en AJAX, tout le HTML nécessaire (le formulaire)..
                          Et reformuler le comportement attendu.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            2 décembre 2010 à 11:27:47

                            Bonjour,

                            un bon dessin vaut mieux qu'un long discours ...
                            Image utilisateur
                            Image utilisateur

                            Dans la cellule "ville", je voudrais récupérer les valeurs comme dans la partie droite et afficher comme dans la partie gauche.

                            villebville.php :
                            <? 
                            session_start();
                            //déclaration bdd
                            include("config.php");
                            
                            if(isset($_POST['cpb'])){
                                $selectb = mysql_query("SELECT ville FROM maps_ville WHERE ville LIKE '".$_POST['cpb']."%"."'")or die(mysql_error());
                            	$selectzz = mysql_query("SELECT CONCAT(ville,tiret,LEFT(cp,2)) FROM maps_ville WHERE ville LIKE '".$_POST['cpb']."%"."'")or die(mysql_error());
                            	$select2b = mysql_query("SELECT CONCAT(ville,tiret,LEFT(cp,2),etoile,lon,slashe,lat) FROM maps_ville WHERE ville LIKE '".$_POST['cpb']."%"."'")or die(mysql_error());
                            	$select3b = mysql_query("SELECT lat,lon FROM maps_ville WHERE ville LIKE '".$_POST['cpb']."%"."'")or die(mysql_error());
                                $optionb = '';
                            	$option3b = '';
                                while($query = mysql_fetch_assoc($select2b)){
                            	$accent = "àáâãäåòóôõöøèéêëçìíîïùúûü";
                                $sansaccent = "ÀÁÂÃÄÅÒÓÔÕÖØÈÉÊËÇÌÍÎÏÙÚÛÜ";
                                    if(empty($optionb)){
                                      //  $optionb = ucfirst(strtolower($query['CONCAT(ville,tiret,LEFT(cp,2))']));
                            			$optionb = strtr(utf8_encode($query['CONCAT(ville,tiret,LEFT(cp,2),etoile,lon,slashe,lat)']),$sansaccent,$accent);
                            			$option3b = ucfirst(strtolower($query['lat,lon']));
                                    }
                                    else{
                                    //    $optionb = $optionb.'/'.ucfirst(strtolower($query['CONCAT(ville,tiret,LEFT(cp,2))']));
                            			$optionb = $optionb.'/'.strtr(utf8_encode($query['CONCAT(ville,tiret,LEFT(cp,2),etoile,lon,slashe,lat)']),$sansaccent,$accent);  
                            			$option3b = $option3b.'/'.ucfirst(strtolower($query['lat,lon']));
                                    }
                                }
                                echo $optionb; echo $option3b;
                                //echo ucfirst(strtolower($query['Ville']));
                            }
                            ?>
                             <?
                            //fermeture
                            mysql_close();
                            ?>
                            


                            fonction completionvilleb:
                            function completionVilleb(value) { 
                                //alert(value);
                                $.post('villesbville.php', { cpb : value },
                                function success(data){
                                    
                                    var the_option = data.split('/')
                            		   
                                    if(the_option.length > 0){
                                        for(i = 0; i < the_option.length; i++){
                                            document.forms['the_form'].villeb.options[i] = new Option(the_option[i],the_option[i]);
                            				
                                        }
                                    }
                                    else{
                                        document.forms['the_form'].villeb.options[0] = new Option(data,data);
                                    }
                               //	 document.getElementById("villeb").value = data; 
                            	//	 document.getElementById("villeb").value = data.value.substr(1,20);
                            	//	 document.getElementById("villebpos").value = data.value.substr(1,2);
                                 //   document.getElementById("depret2").value = document.forms["the_form"].villeb.value.substring(longueur,longueur-2);
                                 });
                            }
                            


                            fonction departementret2
                            function departementret2(value) { 
                            
                            var chaine = document.forms["the_form"].villeb.value;
                            longueur = document.forms["the_form"].villeb.value.length;
                            
                            if (document.forms["the_form"].villeb.value != ""){
                            
                            	document.forms["the_form"].depret2.value = chaine.substr(longueur-24,2);
                            	document.forms["the_form"].depret2.value = chaine.substr(longueur-24,2);
                            	document.forms["the_form"].lonret2.value = chaine.substr(longueur-21,10);
                            	document.forms["the_form"].latret2.value = chaine.substr(longueur-10,10);
                            	document.forms["the_form"].villecp2.value = chaine.substr(1,5);
                            	}
                            
                            }
                            


                            formulaire :
                            <form name="the_form" method="post" action="reservation.php?cat_chauff=2" onsubmit="return valider()">
                            <div id="depart"><div align="left" class="margin2">-- Prise en charge --</div>
                            <table width="500" border="0" cellpadding="1" cellspacing="2" >
                              <tr>
                            
                                <td colspan="2"></td>
                                </tr>
                            
                                <tr>
                            	    <td><div align="right" class="margin3"><span class="bodyText style7">*</span><label for="objet">Ville :</label></div></td>
                            		<td><input type="text" size="20"  maxlength="20" name="cp" onkeyup="completionVille(this.value);" /></td>
                            		</tr>
                            		        <tr><td></td>
                            	    <td><select name="ville" id="ville" >
                                        <!--<option value="">Choix</option>-->
                                    </select>
                            		</td>
                            		</tr>
                            		<tr>
                            		<td><div align="right" class="margin3"><span class="bodyText style7">*</span><label for="objet">Dep :</label></div></td>
                            		<td><input type="text" size="2"  maxlength="2" name="depdep2" id="depdep2"  input value="dep" onkeyup="departementdep2(this.value);" /></td> 
                            	  </tr>
                            
                            		<tr></tr>
                            		<tr>
                            		<td><input type="hidden" size="10"  maxlength="10" name="londep2" id="londep2"  input value="lon" onkeyup="departementdep2(this.value);" /></td> 
                            		<td><input type="hidden" size="10"  maxlength="10" name="latdep2" id="latdep2"  input value="lat" onkeyup="departementdep2(this.value);" /></td>
                            		</tr>
                            		
                                <tr>
                                <td ><div align="right" class="margin3"><span class="bodyText style7">*</span>Date  : </div></td>
                                <td><input size="10" id="datedep2" type="text" name="datedep2"/></td>
                                </tr>			
                              <tr>
                                <td><div align="right" class="margin3"><label for="objet">Type d'agence :</label></div></td>
                                <td><input type="radio"  name="agencedep2" value="1" checked />A&eacute;roport&nbsp;&nbsp;
                            	<input type="radio"  name="agencedep2" value="2"/>Gare&nbsp;&nbsp;
                            	<input type="radio"  name="agencedep2" value="3"/>Ville</td>
                              </tr>	
                            
                                <tr>
                               <td ><div align="right" class="margin2"><u>&nbsp;&nbsp;&nbsp;&nbsp;</u></div></td>
                               <td ><div align="left" class="margin3"><u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</u></div></td>
                                </tr>		
                                </table>
                            						
                            		<table width="500" border="0" cellpadding="1" cellspacing="2" ><div align="left" class="margin2">-- Restitution --</div>
                                    <tr>
                                       <td colspan="2"></td>
                                   </tr>
                                   <tr>
                            	    <td><div align="right" class="margin3"><span class="bodyText style7">*</span><label for="objet">Ville :</label></div></td>
                            		<td><input type="text" size="20"  maxlength="20" name="cpb" onkeyup="completionVilleb(this.value);" /></td>
                            	  </tr>
                            		<tr><td></td>
                            		<td><select name="villeb" id="villeb" >
                            
                            		<option value="villeb"><?php echo $villecp2; ?></option>
                            		<!--<option value="<?php echo "villecp2" ?>">villecp</option>-->
                            
                                        <!--<option value="">Choix</option>-->
                                    </select>
                            		</td>
                            		</tr>
                            		<tr>
                            		<td><div align="right" class="margin3"><span class="bodyText style7">*</span><label for="objet">Dep :</label></div></td>
                            		<td><input type="text" size="2"  maxlength="2" name="depret2" id="depret2"  input value="dep" onkeyup="departementret2(this.value);" /></td> 
                                    <td>&nbsp;</td>
                            		</tr>
                            
                            		<tr></tr>
                            		<tr>
                            		<td><input type="hidden" size="10"  maxlength="10" name="lonret2" id="lonret2"  input value="lon" onkeyup="departementret2(this.value);" /></td> 
                            		<td><input type="hidden" size="10"  maxlength="10" name="latret2" id="latret2"  input value="lat" onkeyup="departementret2(this.value);" /></td>
                            		</tr>
                            		<tr>
                            		<td><div align="right">Distance  :</div></td>
                            		<td><input	type="button" value="km" onClick="result.value = CalculateDistance(the_form.latdep2.value, the_form.londep2.value, 
                            										  the_form.latret2.value, the_form.lonret2.value)"/>
                            			<input name="result" id="result" value="" size="7"/></td> 
                            		</tr>
                            
                            • Partager sur Facebook
                            • Partager sur Twitter
                              2 décembre 2010 à 11:48:27

                              Qu’est-ce qui ne fonctionne pas en fait ? C'est l'auto-complétion que tu veux ?
                              • Partager sur Facebook
                              • Partager sur Twitter
                                2 décembre 2010 à 13:19:09

                                je récupère les bonnes valeurs partout.
                                c'est à l'affichage de la liste des villes que j'ai un problème.
                                je veux afficher ville+dep tout en récupérant ville+dep+lon+lat.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  2 décembre 2010 à 14:09:52

                                  D'accord bah en fait c'est ce qu'on t'a dit au début du sujet.

                                  <option value="ICI LA VARIABLE QUE TU VEUX RECUPERER">ICI LA VARIABLE A AFFICHER</option>
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    2 décembre 2010 à 14:39:46

                                    Citation : deneb

                                    c'est justement la syntaxe qui me pose problème. je suis obligé de passer par du js? Direct en php, ça ne marche pas?

                                    <select name="villecp2" id="villeb" >
                                    	<option value="villeb">'+villecp2+'</option>
                                    </select>
                                    


                                    villecp2 = ville +dep
                                    villeb = ville +dep + lon +lat



                                    Si je prend ce qui a au-dessus et en supposant que tu récupère tes variables en PHP et non en JS sa donne sa:
                                    <select name="villecp2" id="villeb" >
                                    	<option value="<?php echo $villeb; ?>"><?php echo $villecp2; ?></option>
                                    </select>
                                    
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    $2b||!$2b
                                      2 décembre 2010 à 15:24:35

                                      j'en était arrivé là aussi mais c'est toujours pareil.
                                      villecp2 ne doit pas allée, je la récupère comme ça dans ma fonction :
                                      function departementret2(value) { 
                                      var chaine = document.forms["the_form"].villeb.value;
                                      longueur = document.forms["the_form"].villeb.value.length;
                                      if (document.forms["the_form"].villeb.value != ""){
                                      document.forms["the_form"].villecp2.value = chaine.substr(1,5);	}
                                      

                                      (1,5) c'est pour tester rapidement
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        2 décembre 2010 à 17:18:37

                                        Et sur quel action tu appelle la fonction departement2?
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        $2b||!$2b
                                          2 décembre 2010 à 17:45:02

                                          même ça, ça ne marche pas...

                                          <td><input type="text" size="20"  maxlength="20" name="cpb" onkeyup="completionVilleb(this.value);" /></td>
                                          	  </tr>
                                          		<tr><td></td>
                                          		<td>
                                                  <!--<option value="">Choix</option>-->
                                          		<select name="villecp2" id="villeb" >
                                          		<?php
                                          		$villecp2 =  substr($villeb, 0, -44);
                                          		?>
                                          		<option value="<?php echo $villeb; ?>"><?php echo $villecp2; ?></option>
                                          		</select>
                                          
                                          		</td>
                                          		</tr>
                                          		<tr>
                                          		<td><div align="right" class="margin3"><span class="bodyText style7">*</span><label for="objet">Dep :</label></div></td>
                                          		<td><input type="text" size="2"  maxlength="2" name="depret2" id="depret2"  input value="dep" onkeyup="departementret2(this.value);" /></td> 
                                                  <td>&nbsp;</td>
                                          		</tr>
                                          
                                          		<tr></tr>
                                          		<tr>
                                          		<td><input type="hidden" size="10"  maxlength="10" name="lonret2" id="lonret2"  input value="lon" onkeyup="departementret2(this.value);" /></td> 
                                          		<td><input type="hidden" size="10"  maxlength="10" name="latret2" id="latret2"  input value="lat" onkeyup="departementret2(this.value);" /></td>
                                          
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            2 décembre 2010 à 18:22:42

                                            Sa t'affiche quoi?
                                            J'en suis pas sur mais sa me parait invraisemblable de faire un onKeyUp sur un input hidden (donc qu'on ne vois pas).
                                            Et pourquoi dans tes input tu met sa -> input value="" <- au lieu de value="" tout seul?
                                            Ensuite si ta chaine se constitue comme sa "ville-cp-lon-lat" tu peut utiliser explode() comme ceci:

                                            <?php
                                            $infoVille = explode('-',$villeb);
                                            $villeCp = $infoVille[0].$infoVille[1];
                                            $villeCpLonLat = $infoVille[0].$infoVille[1].$infoVille[2].$infoVille[3];
                                            ?>
                                            <option value="<?php echo $villeCpLonLat; ?>"><?php echo $villeCp; ?></option>
                                            
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            $2b||!$2b
                                              2 décembre 2010 à 18:50:56

                                              j'ai enlevé les input qui n'avaient rien à faire là en effet.
                                              avec les hidden sur lat et lon, je calcule les distances, les valeurs ont l'air correct.
                                              j'ai utilisé la fonction explode dans le select que je ne connaissais pas avec * comme séparateur.
                                              mais toujours rien...là, je suis vraiment perplexe.
                                              <select name="villecp2" id="villeb" >
                                              		<?php
                                              		$infoVille = explode('*',$villeb);
                                              		$villeCp = $infoVille[0];
                                              		$villeCpLonLat = $infoVille[0].$infoVille[1].$infoVille[2];
                                              		?>
                                              		<option value="<?php echo $villeCpLonLat; ?>"><?php echo $villeCp; ?></option>
                                              		</select>
                                              
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                2 décembre 2010 à 23:35:26

                                                Pourquoi le '*' comme séparateur dans explode? Tu nous avais dit que tu recuperer sous cette forme la "ville-cp-lon-lat" et non "ville*cp*lon*lat" !
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                $2b||!$2b
                                                  3 décembre 2010 à 8:42:23

                                                  ville-cp*lon*lat.
                                                  je ne vois pas ce que ça change.
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    3 décembre 2010 à 11:08:03

                                                    Est-ce que tu peux me décrire du début jusqu'à la fin le cheminement de ton processus en détails en indiquant quelle technologie tu utilise stp parceque un coup tu utilise JS un autre PHP et sa m'intrigue sachant que si tu utilise du php il faut recharger la page avec les nouvelles indications.
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                    $2b||!$2b
                                                      3 décembre 2010 à 11:16:03

                                                      tu peux déjà tester à cette adresse : http://abinformatique.fr/www/TRANSPORT [...] nibus.com.php
                                                      partie de droite.

                                                      index.php :
                                                      <? 
                                                      session_start();
                                                      //déclaration bdd
                                                      include("config.php");
                                                      //$req = mysql_query("SELECT id_reserv from `abinf143462`.`reservation` ORDER BY id_reserv DESC LIMIT 1") or die ("erreur requete".mysql_error(à));
                                                      mysql_query("DELETE FROM `zzz`.`reservation` WHERE `reservation`.`enreg`='0'");
                                                      //while ($contenu=mysql_fetch_array($req))
                                                      //{
                                                      //$idreserv = $contenu['id_reserv'];
                                                      
                                                      
                                                      //}
                                                      ?>
                                                      
                                                      
                                                      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                                                      <html xmlns="http://www.w3.org/1999/xhtml">
                                                      <head>
                                                        <title>Transport par minibus avec ou sans chauffeur</title>
                                                      
                                                      <link href="style_web.css" rel="stylesheet" type="text/css" />
                                                      <META HTTP-EQUIV="expires" CONTENT="0">
                                                      
                                                      <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
                                                      
                                                      <script  type="text/javascript" src="dhtmlgoodies_calendar.js?random=20060118"> </script>
                                                      <link type="text/css" rel="stylesheet" href="dhtmlgoodies_calendar.css?random=20051112" media="screen"></link>
                                                      <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js" /></script>
                                                      <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
                                                      <script type="text/javascript" src="js/swfobject.js"></script>
                                                      <script type="text/javascript" src="jquery.js"></script>
                                                      <style type="text/css">@import url(jquery-calendar.css);</style>
                                                      <script type="text/javascript" src="jquery-calendar.js"></script>
                                                      
                                                      
                                                      
                                                      <script type="text/javascript">
                                                      function completionVille1(value) { 
                                                          //alert(value);
                                                          $.post('villes1ville.php', { cp1 : value },
                                                          function success(data){
                                                              
                                                              var the_option = data.split('/')
                                                              if(the_option.length > 0){
                                                                  for(i = 0; i < the_option.length; i++){
                                                                      document.forms['the_form1'].ville1.options[i] = new Option(the_option[i],the_option[i]);
                                                                  }
                                                              }
                                                              else{
                                                                  document.forms['the_form1'].ville1.options[0] = new Option(data,data);
                                                              }
                                                      
                                                              document.getElementById("ville1").value = data;
                                                             // document.getElementById("dep1").value = value.substring(0,texte.value.length-2);
                                                              
                                                          });
                                                      	 
                                                      }
                                                      
                                                      function completionVille1b(value) { 
                                                          //alert(value);
                                                          $.post('villes1bville.php', { cp1b : value },
                                                          function success(data){
                                                              
                                                              var the_option = data.split('/')
                                                              if(the_option.length > 0){
                                                                  for(i = 1; i < the_option.length; i++){
                                                                      document.forms['the_form1'].ville1b.options[i] = new Option(the_option[i],the_option[i]);
                                                                  }
                                                              }
                                                              else{
                                                                  document.forms['the_form1'].ville1b.options[0] = new Option(data,data);
                                                              }
                                                              document.getElementById("ville1b").value = data;
                                                           
                                                             // document.getElementById("dep1b").value = value.substring(0,2);
                                                              
                                                          });
                                                      }
                                                      
                                                      
                                                      function completionVille(value) { 
                                                          //alert(value);
                                                          $.post('villesville.php', { cp : value },
                                                          function success(data){
                                                              
                                                              var the_option = data.split('/')
                                                              if(the_option.length > 0){
                                                                  for(i = 0; i < the_option.length; i++){
                                                                      document.forms['the_form'].ville.options[i] = new Option(the_option[i],the_option[i]);
                                                                  }
                                                              }
                                                              else{
                                                                  document.forms['the_form'].ville.options[0] = new Option(data,data);
                                                              }
                                                              document.getElementById("ville").value = data;
                                                              
                                                          //    document.getElementById("dep").value = value.substring(0,2);
                                                              
                                                          });
                                                      }
                                                      
                                                      function completionVilleb(value) { 
                                                          //alert(value);
                                                          $.post('villesbville.php', { cpb : value },
                                                          function success(data){
                                                              
                                                              var the_option = data.split('/')
                                                      		   
                                                              if(the_option.length > 0){
                                                                  for(i = 0; i < the_option.length; i++){
                                                                      document.forms['the_form'].villeb.options[i] = new Option(the_option[i],the_option[i]);
                                                      			//	document.forms['the_form'].villecp2.options[i] = substr(document.forms['the_form'].villeb.options[i],0,-44);
                                                                  }
                                                              }
                                                              else{
                                                                  document.forms['the_form'].villeb.options[0] = new Option(data,data);
                                                      		
                                                      
                                                      		 //document.forms['the_form'].villeb.options[i] = new Option(the_option[i],the_option[i]);
                                                      		//	document.forms['the_form'].villecp2.options[0] = substr(document.forms['the_form'].villeb.options[0],0,-44);
                                                              }
                                                         //	 document.getElementById("villeb").value = data; 
                                                      	//	 document.getElementById("villeb").value = data.value.substr(1,20);
                                                      	//	 document.getElementById("villebpos").value = data.value.substr(1,2);
                                                           //   document.getElementById("depret2").value = document.forms["the_form"].villeb.value.substring(longueur,longueur-2);
                                                           });
                                                      }
                                                      
                                                      function departementdep2(value) { 
                                                      
                                                      var chaine = document.forms["the_form"].ville.value;
                                                      longueur = document.forms["the_form"].ville.value.length;
                                                      
                                                      if (document.forms["the_form"].ville.value != ""){
                                                      
                                                      	document.forms["the_form"].depdep2.value = chaine.substr(longueur-24,2);
                                                      	document.forms["the_form"].londep2.value = chaine.substr(longueur-21,10);
                                                      	document.forms["the_form"].latdep2.value = chaine.substr(longueur-10,10);
                                                      }
                                                      }
                                                      
                                                      function departementret2(value) { 
                                                         // Application de la fonction replace() sur myString
                                                      // var avant = document.forms["the_form"].villeb;
                                                      // var sanssespace = avant.replace(" ","");
                                                      var chaine = document.forms["the_form"].villeb.value.replace(' ','');
                                                      longueur = document.forms["the_form"].villeb.value.replace(' ','').length;
                                                      
                                                      if (document.forms["the_form"].villeb.value != ""){
                                                      
                                                      	document.forms["the_form"].depret2.value = chaine.substr(longueur-24,2);
                                                      	document.forms["the_form"].lonret2.value = chaine.substr(longueur-21,10);
                                                      	document.forms["the_form"].latret2.value = chaine.substr(longueur-10,10);
                                                      
                                                      	}
                                                      }
                                                      
                                                      
                                                      CalculateDistance = function (lat1, lon1, lat2, lon2) 
                                                      		{
                                                      			var R = 6371; // earth's mean radius in km
                                                      			//lat2 = document.forms["the_form"].latret2.value;
                                                      			//lat1 = document.forms["the_form"].latdep2.value;
                                                      			//lon2 = document.forms["the_form"].lonret2.value;
                                                      			//lon1 = document.forms["the_form"].londep2.value;
                                                      			var dLat = (lat2-lat1) * (Math.PI / 180);
                                                      			var dLon = (lon2-lon1) * (Math.PI / 180);
                                                      			
                                                      			lat1 = lat1 * (Math.PI / 180), 
                                                      			lat2 = lat2 * (Math.PI / 180);
                                                      
                                                      			var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
                                                      				  Math.cos(lat1) * Math.cos(lat2) * 
                                                      				  Math.sin(dLon/2) * Math.sin(dLon/2);
                                                      			var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
                                                      			var d = R * c;
                                                      			e = parseInt(d);
                                                      			return e;
                                                      		}
                                                      
                                                      
                                                      </script>
                                                      
                                                      <script type="text/javascript">
                                                      	function valider(){
                                                      	    var valide = false;
                                                      			
                                                      		if (document.forms["the_form"].ville.value != ""){
                                                      			if (document.forms["the_form"].datedep2.value != ""){
                                                      					if (document.forms["the_form"].villeb.value != ""){
                                                      							if (document.forms["the_form"].dateret2.value != ""){
                                                      				// Si tout les champs sont remplis
                                                      				valide = true;
                                                      				            }
                                                      					
                                                      							else {		// Si le champs date retour est vide
                                                      				alert("Entrez une date de retour");		
                                                      							}
                                                      							}			
                                                      					else {		// Si le champs ville retour est vide
                                                      				alert("Entrez une ville de retour");		
                                                      						}
                                                      					}		
                                                      			else {		// Si le champs date depart est vide
                                                      				alert("Entrez une date de depart");
                                                      				}
                                                      		}
                                                      		
                                                      		else {		// Si il n'y a pas de ville depart
                                                      			alert("Entrez une ville de depart");
                                                      		}
                                                      		
                                                      		return valide;
                                                      	}
                                                      </script>
                                                      <script type="text/javascript">
                                                      	function valider1(){
                                                      		var valide = false;
                                                      		
                                                      		if (document.the_form1.ville1.value != ""){
                                                      			if (document.the_form1.datedep1.value != ""){
                                                      					if (document.the_form1.ville1b.value != ""){
                                                      							if (document.the_form1.dateret1.value != ""){
                                                      				// Si tout les champs sont remplis
                                                      				valide = true;
                                                      				            }
                                                      					
                                                      							else {		// Si le champs date retour est vide
                                                      				alert("Entrez une date de retour");		
                                                      							}
                                                      							}			
                                                      					else {		// Si le champs ville retour est vide
                                                      				alert("Entrez une ville de retour");		
                                                      						}
                                                      					}		
                                                      			else {		// Si le champs date depart est vide
                                                      				alert("Entrez une date de depart");
                                                      				}
                                                      		}
                                                      		
                                                      		else {		// Si il n'y a pas de ville depart
                                                      			alert("Entrez une ville de depart");
                                                      		}
                                                      		
                                                      		return valide;
                                                      	}
                                                      </script>
                                                      
                                                      
                                                      
                                                      </head>
                                                      <body>
                                                      
                                                      <div id="menu_1">
                                                      <img src="images/chauffeur.png" alt="Transport par minibus" width="1400" height="900" border="0" />
                                                      </div>
                                                      
                                                      
                                                      <form name="the_form1" method="post" action="reservation.php?cat_chauff=1&ville1b=<?php echo $ville1b; ?>&ville1=<?php echo $ville1; ?>" onsubmit="return valider1()">
                                                      
                                                      <div id="depart_chauff"><div align="left" class="margin2">-- Prise en chargezz --</div>
                                                      <table width="500" border="0" cellpadding="1" cellspacing="2" >
                                                        <tr>
                                                      
                                                          <td colspan="3"></td>
                                                          </tr>
                                                      
                                                          <tr>
                                                      	    <td><div align="right" class="margin3"><span class="bodyText style7">*</span><label for="objet">Ville :</label></div></td>
                                                      		<td><input type="text" size="30"  maxlength="30" name="cp1b" onkeyup="completionVille1b(this.value);" /></td> 
                                                      	</tr>
                                                          <tr>
                                                      	    <td></td>
                                                              <td><select name="ville1b" id="ville1b">
                                                                  <option value="">Ville - Dep</option>
                                                              </select>
                                                      		</td>
                                                      		</tr>
                                                          <tr>
                                                          <td ><div align="right" class="margin3"><span class="bodyText style7">*</span>Date  : </div></td>
                                                          <td><input size="10" id="datedep1" type="text" name="datedep1"/></td>
                                                          </tr>			
                                                        <tr>
                                                          <td><div align="right" class="margin3"><label for="objet">Type d'agence :</label></div></td>
                                                          <td><input type="radio"  name="agencedep1" value="1" checked />A&eacute;roport&nbsp;&nbsp;
                                                      	<input type="radio"  name="agencedep1" value="2"/>Gare&nbsp;&nbsp;
                                                      	<input type="radio"  name="agencedep1" value="3"/>Ville</td>
                                                        </tr>	
                                                      
                                                          <tr>
                                                         <td ><div align="right" class="margin2"><u>&nbsp;&nbsp;&nbsp;&nbsp;</u></div></td>
                                                         <td ><div align="left" class="margin3"><u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</u></div></td>
                                                          </tr>		
                                                              </table>
                                                      		<table width="500" border="0" cellpadding="1" cellspacing="2" ><div align="left" class="margin2">-- Restitution --</div>
                                                        <tr>
                                                      
                                                          <td colspan="2"></td>
                                                          </tr>
                                                      
                                                      
                                                          <tr>
                                                      	    <td><div align="right" class="margin3"><span class="bodyText style7">*</span><label for="objet">Ville :</label></div></td>
                                                      		<td><input type="text" size="20"  maxlength="20" name="cp1" onkeyup="completionVille1(this.value);" /></td> 
                                                      		</tr>
                                                      		<tr>
                                                      	    <td> </td>
                                                              <td><select name="ville1" id="ville1">
                                                                  <option value="">Ville - Dep</option>
                                                              </select>
                                                      
                                                      		</td>
                                                      		</tr>
                                                      		<tr>
                                                      		<td><div align="right" class="margin3"><span class="bodyText style7">*</span>  Date  : </div></td> 
                                                      		<td><input size="10" id="dateret1" type="text" name="dateret1"/></td>
                                                      		</tr>	
                                                        <tr>
                                                          <td><div align="right" class="margin3"><label for="objet">Type d'agence :</label></div></td>
                                                          <td><input type="radio"  name="agenceret1" value="1" checked />A&eacute;roport&nbsp;&nbsp;
                                                      	<input type="radio"  name="agenceret1" value="2"/>Gare&nbsp;&nbsp;
                                                      	<input type="radio"  name="agenceret1" value="3"/>Ville</td>
                                                        </tr>	
                                                      
                                                          <tr>
                                                         <td ><div align="right" class="margin2"><u>&nbsp;&nbsp;&nbsp;&nbsp;</u></div></td>
                                                         <td ><div align="left" class="margin3"><u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</u></div></td>
                                                          </tr>		
                                                              </table>
                                                        <table width="500" border="0" cellpadding="1" cellspacing="2" ><div align="left" class="margin2">-- Cat&eacute;gorie de minibus --</div>
                                                        <tr>
                                                          <td colspan="2"></td><td >
                                                          <select name="bus1" id="bus1">
                                                      <?php
                                                      $resultat=mysql_query("SELECT * from `abinf143462`.`categories` ") or die ("erreur requete".mysql_error(à));
                                                      if (! $resultat) { echo "Erreur requete"; exit;} 
                                                      while ($ligne=mysql_fetch_array($resultat))
                                                      {
                                                      ?>
                                                      <option><?php echo ''.$ligne['categorie'].'';?> </option>
                                                      <?
                                                      }
                                                      
                                                      ?>
                                                      
                                                      	</td>
                                                          </tr>
                                                      
                                                      
                                                            </table>
                                                      <input type="image" src="images/valider.png"  alt="Validation du Formulaire"/>
                                                      </div>
                                                      </form>
                                                      
                                                      
                                                      
                                                      
                                                      <form name="the_form" method="post" action="reservation.php?cat_chauff=2" onsubmit="return valider()">
                                                      <div id="depart"><div align="left" class="margin2">-- Prise en charge --</div>
                                                      <table width="500" border="0" cellpadding="1" cellspacing="2" >
                                                        <tr>
                                                      
                                                          <td colspan="2"></td>
                                                          </tr>
                                                      
                                                          <tr>
                                                      	    <td><div align="right" class="margin3"><span class="bodyText style7">*</span><label for="objet">Ville :</label></div></td>
                                                      		<td><input type="text" size="20"  maxlength="20" name="cp" onkeyup="completionVille(this.value);" /></td>
                                                      		</tr>
                                                      		        <tr><td></td>
                                                      	    <td><select name="ville" id="ville" >
                                                                  <!--<option value="">Choix</option>-->
                                                              </select>
                                                      		</td>
                                                      		</tr>
                                                      		<tr>
                                                      		<td><div align="right" class="margin3"><span class="bodyText style7">*</span><label for="objet">Dep :</label></div></td>
                                                      		<td><input type="text" size="2"  maxlength="2" name="depdep2" id="depdep2"  input value="dep" onkeyup="departementdep2(this.value);" /></td> 
                                                      	  </tr>
                                                      
                                                      		<tr></tr>
                                                      		<tr>
                                                      		<td><input type="hidden" size="10"  maxlength="10" name="londep2" id="londep2"  input value="lon" onkeyup="departementdep2(this.value);" /></td> 
                                                      		<td><input type="hidden" size="10"  maxlength="10" name="latdep2" id="latdep2"  input value="lat" onkeyup="departementdep2(this.value);" /></td>
                                                      		</tr>
                                                      		
                                                          <tr>
                                                          <td ><div align="right" class="margin3"><span class="bodyText style7">*</span>Date  : </div></td>
                                                          <td><input size="10" id="datedep2" type="text" name="datedep2"/></td>
                                                          </tr>			
                                                        <tr>
                                                          <td><div align="right" class="margin3"><label for="objet">Type d'agence :</label></div></td>
                                                          <td><input type="radio"  name="agencedep2" value="1" checked />A&eacute;roport&nbsp;&nbsp;
                                                      	<input type="radio"  name="agencedep2" value="2"/>Gare&nbsp;&nbsp;
                                                      	<input type="radio"  name="agencedep2" value="3"/>Ville</td>
                                                        </tr>	
                                                      
                                                          <tr>
                                                         <td ><div align="right" class="margin2"><u>&nbsp;&nbsp;&nbsp;&nbsp;</u></div></td>
                                                         <td ><div align="left" class="margin3"><u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</u></div></td>
                                                          </tr>		
                                                          </table>
                                                      						
                                                      		<table width="500" border="0" cellpadding="1" cellspacing="2" ><div align="left" class="margin2">-- Restitution --</div>
                                                              <tr>
                                                                 <td colspan="2"></td>
                                                             </tr>
                                                             <tr>
                                                      	    <td><div align="right" class="margin3"><span class="bodyText style7">*</span><label for="objet">Ville :</label></div></td>
                                                      		<td><input type="text" size="20"  maxlength="20" name="cpb" onkeyup="completionVilleb(this.value);" /></td>
                                                      	  </tr>
                                                      		<tr><td></td>
                                                      		<td>
                                                              <!--<option value="">Choix</option>-->
                                                      		<select name="villecp2" id="villeb" >
                                                      		<?php
                                                      		$infoVille = explode('*',$villeb);
                                                      		$villeCp = $infoVille[0];
                                                      		$villeCpLonLat = $infoVille[0].$infoVille[1].$infoVille[2];
                                                      		?>
                                                      		<option value="<?php echo $villeCpLonLat; ?>"><?php echo $villeCp; ?></option>
                                                      		</select>
                                                      
                                                      		</td>
                                                      		</tr>
                                                      		<tr>
                                                      		<td><div align="right" class="margin3"><span class="bodyText style7">*</span><label for="objet">Dep :</label></div></td>
                                                      		<td><input type="text" size="2"  maxlength="2" name="depret2" id="depret2" value="dep" onkeyup="departementret2(this.value);" /></td> 
                                                              <td>&nbsp;</td>
                                                      		</tr>
                                                      
                                                      		<tr></tr>
                                                      		<tr>
                                                      		<td><input type="hidden" size="10"  maxlength="10" name="lonret2" id="lonret2" value="lon" onkeyup="departementret2(this.value);" /></td> 
                                                      		<td><input type="hidden" size="10"  maxlength="10" name="latret2" id="latret2" value="lat" onkeyup="departementret2(this.value);" /></td>
                                                      		</tr>
                                                      		<tr>
                                                      		<td><div align="right">Distance  :</div></td>
                                                      		<td><input	type="button" value="km" onClick="result.value = CalculateDistance(the_form.latdep2.value, the_form.londep2.value, 
                                                      										  the_form.latret2.value, the_form.lonret2.value)"/>
                                                      			<input name="result" id="result" value="" size="7"/></td> 
                                                      		</tr>
                                                      		<tr>
                                                      		<td><div align="right" class="margin3"><span class="bodyText style7">*</span>  Date  : </div></td> 
                                                      		<td><input size="10" id="dateret2" type="text" name="dateret2"/></td>
                                                      		</tr>	
                                                        <tr>
                                                          <td><div align="right" class="margin3"><label for="objet">Type d'agence :</label></div></td>
                                                          <td><input type="radio"  name="agenceret2" value="1" checked />A&eacute;roport&nbsp;&nbsp;
                                                      	<input type="radio"  name="agenceret2" value="2"/>Gare&nbsp;&nbsp;
                                                      	<input type="radio"  name="agenceret2" value="3"/>Ville</td>
                                                        </tr>	
                                                      
                                                          <tr>
                                                         <td ><div align="right" class="margin2"><u>&nbsp;&nbsp;&nbsp;&nbsp;</u></div></td>
                                                         <td ><div align="left" class="margin3"><u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</u></div></td>
                                                          </tr>		
                                                              </table>
                                                        <table width="500" border="0" cellpadding="1" cellspacing="2" ><div align="left" class="margin2">-- Cat&eacute;gorie de minibus --</div>
                                                        <tr>
                                                          <td colspan="2"></td>
                                                      	<td>
                                                          <select name="bus2" id="bus2">
                                                      <?php
                                                      $resultat2=mysql_query("SELECT * from `abinf143462`.`categories` ") or die ("erreur requete".mysql_error(à));
                                                      if (! $resultat2) { echo "Erreur requete"; exit;} 
                                                      while ($ligne2=mysql_fetch_array($resultat2))
                                                      {
                                                      ?>
                                                      <option><?php echo ''.$ligne2['categorie'].'';?> </option>
                                                      <?
                                                      }
                                                      
                                                      //fermeture
                                                      mysql_close();
                                                      ?>
                                                           </select>
                                                      	</td>
                                                          </tr>
                                                      
                                                      
                                                          </table>
                                                      <input type="image" src="images/valider.png"  alt="Validation du Formulaire" align="middle"/>
                                                      </div>
                                                      </form>
                                                      
                                                      
                                                      
                                                      </body>
                                                      </html>
                                                      


                                                      villesbville.php
                                                      <? 
                                                      session_start();
                                                      //déclaration bdd
                                                      include("config.php");
                                                      
                                                      if(isset($_POST['cpb'])){
                                                      
                                                      	$select2b = mysql_query("SELECT CONCAT(ville,tiret,LEFT(cp,2),etoile,lon,slashe,lat) FROM maps_ville WHERE ville LIKE '".$_POST['cpb']."%"."'")or die(mysql_error());
                                                      
                                                          $option = '';
                                                      
                                                          while($query = mysql_fetch_assoc($select2b)){
                                                      	$accent = "àáâãäåòóôõöøèéêëçìíîïùúûü";
                                                          $sansaccent = "ÀÁÂÃÄÅÒÓÔÕÖØÈÉÊËÇÌÍÎÏÙÚÛÜ";
                                                              if(empty($option)){
                                                      			$option = strtr(utf8_encode($query['CONCAT(ville,tiret,LEFT(cp,2),etoile,lon,slashe,lat)']),$sansaccent,$accent);
                                                              }
                                                              else{
                                                      			$option = $option.'/'.strtr(utf8_encode($query['CONCAT(ville,tiret,LEFT(cp,2),etoile,lon,slashe,lat)']),$sansaccent,$accent);  
                                                      
                                                              }
                                                          }
                                                          echo $option; 
                                                          //echo ucfirst(strtolower($query['Ville']));
                                                      }
                                                      ?>
                                                       <?
                                                      //fermeture
                                                      mysql_close();
                                                      ?>
                                                      
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        3 décembre 2010 à 11:40:35

                                                        Tu te complique vraiment trop la vie la! Les scripts JS que tu utilise sa serait plus si tu fait de la POO mais dans ton cas sa ne sert pas vraiment a part compliquer ton code. Ensuite tu utilise jquery pour faire des requetes AJAX donc ce que tu dois ecrire dois etre en JS et non php puisque le php recharge la page et dans ton cas on ne le fait pas. Je vais te faire une petite démo qui se rapproche de ton cas et je le posterai ici (dans le cas ou tu n'as pas répondu, je devrais EDITER ce post donc tu n'aura pas de notification comme quoi tu as eu une nouvelle réponse donc vérifie dans la journée si je n'ai rien posté).
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                        $2b||!$2b
                                                          3 décembre 2010 à 13:00:29

                                                          merci, c'est très gentil. à la base je ne connais que le php. j'ai ajouté des scripts js pour justement éviter de recharger mais apparemment je merdouille.
                                                          et à la toute base, je faisais du cobol. c'est dire...
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            5 décembre 2010 à 15:33:54

                                                            Chose promis, chose dû! Voila un exemple en se basant sur ce que tu veux faire:
                                                            • -Index.php:
                                                              <?php
                                                              	session_start();
                                                              	
                                                              	mysql_connect("localhost","root","");
                                                              	mysql_select_db("localisation");
                                                              ?>
                                                              <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                                                              <html xmlns="http://www.w3.org/1999/xhtml">
                                                              	<head>
                                                              		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
                                                              		
                                                              		<title>Test de vote</title>
                                                              		<script type="text/javascript" src="js.js"></script>
                                                              		<style>
                                                              			#localisation{
                                                              				width:450px;
                                                              				min-height:200px;
                                                              				float:left;
                                                              				margin:50px 0 0 10px;
                                                              				border:1px solid black;
                                                              			}
                                                              			
                                                              			.verifButton{
                                                              				color:red;
                                                              			}
                                                              			
                                                              			.verifButton:hover{
                                                              				color:green;
                                                              				cursor:pointer;
                                                              			}
                                                              		</style>
                                                              	</head>
                                                              
                                                              	<body>
                                                              	<div id="localisation">
                                                              		Tapez le nom de la ville : <input id="nomVille" type="text" name="nomVille" value="" /> <span class="verifButton" onclick="verif();">Vérifier</span><br/>
                                                              		<form action="index.php" method="post">
                                                              		Selectionnez la ville :
                                                              		<div id="select"> 
                                                              			<select name="ville">
                                                              				
                                                              			</select>
                                                              		</div>
                                                              		<input type="submit" value="Send" name="send" />
                                                              		</form>
                                                              	</div>
                                                              	</body>
                                                              </html>
                                                              

                                                            • -Javascript:
                                                              function AJAX2(url){
                                                              	if(window.XMLHttpRequest) // FIREFOX
                                                              		xhr_object = new XMLHttpRequest();
                                                              	else if(window.ActiveXObject) // IE
                                                              		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
                                                              	else
                                                              		return(false);
                                                              	xhr_object.open("GET", url, false);
                                                              	xhr_object.send(null);
                                                              	if(xhr_object.readyState == 4){
                                                              		return xhr_object.responseText;
                                                              	}
                                                              	else return false;
                                                              } 
                                                              			
                                                              function verif(){
                                                              	var nom = document.getElementById('nomVille').value;
                                                              	var rep;
                                                              	var div = document.getElementById('select');
                                                              	var write;
                                                              	var tmp;
                                                              	if(!(rep = AJAX2('search.php?nom='+nom))){
                                                              		alert('Erreur requête AJAX !');
                                                              	}else{
                                                              		rep = rep.split('/');
                                                              		write = '<select name="ville">';
                                                              		for(var i = 0 ; i < rep.length ; i++){
                                                              			tmp = rep[i].split('-');
                                                              			if(tmp[0] != '')
                                                              				write += '<option value="'+rep[i]+'">'+tmp[0]+' - '+tmp[1]+'</option>';
                                                              		}
                                                              		write += '</select>';
                                                              		
                                                              		div.innerHTML = write;
                                                              	}	
                                                              }
                                                              

                                                            • -Search.php:
                                                              <?php
                                                              mysql_connect("localhost","root","");
                                                              mysql_select_db("localisation");
                                                              	
                                                              if(isset($_GET['nom']) && !empty($_GET['nom'])){
                                                              	$retour = '';
                                                              	$nom = strtolower($_GET['nom']);
                                                              	$i = 0;
                                                              	$sql = "SELECT * FROM ville WHERE nom LIKE '%$nom%'";
                                                              	$req = mysql_query($sql) or die( mysql_error());
                                                              	$nbrRep = mysql_num_rows($req);
                                                              	if($nbrRep > 0){
                                                              		while($r = mysql_fetch_array($req)){
                                                              			$retour .= $r['nom'].'-'.$r['cp'].'-'.$r['lon'].'-'.$r['lat'];
                                                              			$i++;
                                                              			if($i != $nbrRep)
                                                              				$retour .= '/';
                                                              		}
                                                              		echo $retour;
                                                              	}else
                                                              		echo false;
                                                              }else
                                                              	echo false;
                                                              ?>
                                                              



                                                            Bien sur toi tu devras passer par jQuery pour la fonction AJAX mais c'est la même chose ^^
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                            $2b||!$2b
                                                              5 décembre 2010 à 15:40:25

                                                              @skuti : Je t'ai déjà fait une remarque concernant les parenthèses inutiles après les return...


                                                              Sinon, si le PHP echo "false", tu es sûr que tu rentres dans le if ligne 22 ?
                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              masquer une partie du select ?

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                              • Editeur
                                                              • Markdown