Aider moi à récupéré les données du menu déroulant

james -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
     <?php
require_once("dbcontroller.php");
$db_handle = new DBController();
$query ="SELECT * FROM ville";
$results = $db_handle->runQuery($query);
?>
<html>
<head>
<TITLE>jQuery Dependent DropDown List - Countries and States</TITLE>
<head>
<style>
body{width:610px;font-family:calibri;}
.frmDronpDown {border: 1px solid #7ddaff;background-color:#C8EEFD;margin: 2px 0px;padding:40px;border-radius:4px;}
.demoInputBox {padding: 10px;border: #bdbdbd 1px solid;border-radius: 4px;background-color: #FFF;width: 50%;}
.row{padding-bottom:15px;}
</style>
<script src="jquery-3.2.1.min.js" type="text/javascript"></script>
<script>
function getState(val) {
 $.ajax({
 type: "POST",
 url: "getState.php",
 data:'ville_id='+val,
 success: function(data){
  $("#commune-list").html(data); 
  getCity();
 }
 });
}


function getCity(val) {
 $.ajax({
 type: "POST",
 url: "getCity.php",
 data:'commune_id='+val,
 success: function(data){
  $("#quartier-list").html(data);
 }
 });
}

</script>

<?php 
if (isset ( $_POST [ 'ok' ])) {
  // c'est l'id que je récupérer avec ce code
    echo  'ID ville sélectionné:' . $_POST [ 'ville' ]; 
    echo  'ID commune sélectionné:' . $_POST [ 'comm' ]; 
    echo  'Identifiant quartier:' . $_POST [ 'quartier' ]; 
 } 
?>
<?php 
$query ="SELECT * FROM ville"; ?>

</head>
<body>
 <form action="" method="POST">
 <div class="frmDronpDown">
  <div class="row">
   <label>ville:</label><br/>
    <select  name="ville" id="ville-list" class="demoInputBox form-control" onChange="getState(this.value);" >
     <option value disabled selected>Select ville</option>
     <?php foreach($results as $ville) { ?>
     <option value="<?php echo $ville['id']; ?>"> <?php echo $ville["ville_name"]; ?></option>
     <?php } ?>
    </select>
  </div>
  <div class="row">
   <label>Commune:</label><br/>
    <select name="comm" id="commune-list" class="demoInputBox form-control" onChange="getCity(this.value);" >
    <option value="" name="comm">Select commune</option> 

    </select>

  </div>
  <div class="row">
   <label>Quartier:</label><br/>
    <select name="quartier" id="quartier-list" class="demoInputBox form-control" >
    <option value="" name="quartier">Select quartier</option>
    </select>
  </div>
 </div>
 <button value="submit" name="ok">valider</button>
 </form>
</body>
</html>
A voir également:

4 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
<?php
require_once("dbcontroller.php");
$db_handle = new DBController();

//récupération propre des variables AVANT de les utiliser :
$idVille = !empty($_POST["ville"]) ? $_POST["ville"]: NULL;
$comm  = !empty($_POST["comm"]) ? $_POST["comm"]: NULL;
$quartier  = !empty($_POST["quartier"]) ? $_POST["quartier"]: NULL;

// récupération de la liste des villes
$query = "SELECT * FROM ville "; 
if($idVille){ // si on a submit le formulaire
  $query .= "   WHERE id='$idVille' ";
}

$results = $db_handle->runQuery($query);
?>
<html>
<head>
  <TITLE>Countries and States</TITLE>
  <meta charset="utf-8">
  <style>
    body{
      width:610px;font-family:calibri;
    }
    .frmDronpDown{
      border: 1px solid #7ddaff;background-color:#C8EEFD;margin: 2px 0px;padding:40px;border-radius:4px;
    }
    .demoInputBox {
      padding: 10px;border: #bdbdbd 1px solid;border-radius: 4px;background-color: #FFF;width: 50%;
    }
    .row{
      padding-bottom:15px;
    }
  </style>
  <script src="jquery-3.2.1.min.js" type="text/javascript"></script>
</head>
<body>
  <?php 
    if (isset($_POST['ok'])) {
       echo 'la ville est : ' . $idVille.'<br>';
       echo 'la state est : ' . $comm.'<br>';
       echo 'la city est : '  . $quartier.'<br>';
    }
    ?> 


   <form action="" method="POST">
   <div class="frmDronpDown">
    <div class="row">
     <label>ville:</label><br/>
      <select  name="ville" id="ville-list" class="demoInputBox form-control" onChange="getState(this.value);" >
       <option value disabled selected>Select ville</option>
       <?php
       foreach($results as $ville) { 
        $selected = $ville['id'] == $idVille ? " selected='selected' " : "";
        echo "<option value='".$ville['id']."' ".$selected.">".$ville["ville_name"]."</option>";
       } 
       ?>
      </select>
    </div>
    <div class="row">
     <label>Commune:</label><br/>
      <select name="comm" id="commune-list" class="demoInputBox form-control" onChange="getCity(this.value);" >
      <option value="" name="comm">Select commune</option> 
      </select>
    </div>
    <div class="row">
     <label>Quartier:</label><br/>
      <select name="quartier" id="quartier-list" class="demoInputBox form-control" >
      <option value="" name="quartier">Select quartier</option>
      </select>
    </div>
   </div>
   <button value="submit" name="ok">valider</button>
   </form>
   
    <!-- On place de préférence le javascript a la fin de la page juste avant le </body> -->
    <script>
    function getState(val) {
     $.ajax({
       type: "POST",
       url: "getState.php",
       data:'ville_id='+val,
       success: function(data){
         $("#commune-list").html(data); 
         getCity();
       }
     });
    }


    function getCity(val) {
       $.ajax({
       type: "POST",
       url: "getCity.php",
       data:'commune_id='+val,
       success: function(data){
         $("#quartier-list").html(data);
       }
       });
    }
    </script>
   
  </body>
</html>

1
James3.4 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
ça marche.
mais il me reste seulement a afficher le non de la ville, commune et quartier sélectionner stp.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > James3.4 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
Les afficher où ?
Qu'as tu essayé ?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour

Quel est le souci exactement ?

0
James
 
Je n'arrive pas à récupérer les données sélectionnées des menu déroulant .
J'arrive seulement à récupérer l'identifient.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > James
 
Va falloir être plus précis...
Tu veux récupérer quoi exactement ? un exemple de ce que tu penses récupérer ?
Pour en faire quoi ensuite ?
Avec quelles lignes de code ?
0
James > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
J'ai créé un formulaire de menus déroulante qui me permet d'entrer la ville, la commune et le quartier en ajax et php alors que les différents villes,commune et quartier sont enregistrés dans la base de données ou je récupère pour les affiches sur le formulaire.
Ensuite lorsqu'on remplir le formulaire du menu déroulant j'arrive à récupérer l'identifiant (ID) et non le nom de la ville, commune et quartier.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Ca vient du contenu de tes listes déroulantes.....
En ajax, que renvoies tu ?

0
James3.4 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
j'utilise ajax pour lie la ville de la commune et du quartier .
j’espère avoir bien compris la question.
0
James3.4 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
toujours dans le même sujet.
j'arrive à récupéré et afficher la valeur de ($_post['ville']) qui est un identifiant de la table: ville.
maintenant que j'ai l'ID de la ville sélectionner.
je voudrais récupéré et afficher grace a L' id de la ville le nom dans le champs ville_nom de la base de données.
mais je me retrouve pas.


<?php if (isset($_POST['ok'])) {
// c'est l'id que je récuper avec ce code
echo 'la ville est : ' . $_POST["ville"].'<br>';
echo 'la state est : ' . $_POST["comm"].'<br>';
echo 'la city est : ' . $_POST["quartier"].'<br>';}
?>

<?php $query ="SELECT 'ville_name' from ville WHERE 'id'=" . $_POST["ville"]; ?>
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > James3.4 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
Et bien ?
TU as écris la bonne requête visiblement (hormis des quotes en trop )
Il te reste à l'exécuter ...

<?php 
 $idVille = !empty($_POST["ville"]) ? $_POST["ville"]: NULL;
 $query ="SELECT ville_name 
                   FROM ville 
                  WHERE id='$idVille' ";

 $results = $db_handle->runQuery($query);
   ?>


EDIT : Correction de l'emplacement du point-virgule
0
James3.4 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
on m'affiche une erreur l'orsque j'execute ce code:

error: syntax error, unexpected '$results' (T_VARIABLE)


<?php if (isset($_POST['ok'])) {
// c'est l'id que je récuper avec ce code
echo 'la ville est : ' . $_POST["ville"].'<br>';
echo 'la state est : ' . $_POST["comm"].'<br>';
echo 'la city est : ' . $_POST["quartier"].'<br>';}
?>

<?php
$idVille = !empty($_POST["ville"]) ? $_POST["ville"]: NULL;
$query ="SELECT ville_name
FROM ville
WHERE id='$idVille' "

$results = $db_handle->runQuery($query);
; ?>
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > James3.4 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour à tous,
il me semble qu'il manque un point-virgule pour terminer l'instruction qui précède la ligne qui causes le message d'erreur. ce point-virgule est sans doute, par erreur, à la ligne suivante.
0
James3.4 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
quand j’insère ce code le menu déroulant ne s'affiche plus.
alors que je veux afficher en php la valeur de ville_name sélectionner.

$results = $db_handle->runQuery($query);
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Remontre nous ton code complet
0
James3.4 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
voila mon code complet.
<?php
require_once("dbcontroller.php");
$db_handle = new DBController();
$query ="SELECT * FROM ville";
$results = $db_handle->runQuery($query);
?>
<html>
<head>
<TITLE>Countries and States</TITLE>
<head>
<style>
body{width:610px;font-family:calibri;}
.frmDronpDown {border: 1px solid #7ddaff;background-color:#C8EEFD;margin: 2px 0px;padding:40px;border-radius:4px;}
.demoInputBox {padding: 10px;border: #bdbdbd 1px solid;border-radius: 4px;background-color: #FFF;width: 50%;}
.row{padding-bottom:15px;}
</style>
<script src="jquery-3.2.1.min.js" type="text/javascript"></script>
<script>
function getState(val) {
 $.ajax({
 type: "POST",
 url: "getState.php",
 data:'ville_id='+val,
 success: function(data){
  $("#commune-list").html(data); 
  getCity();
 }
 });
}


function getCity(val) {
 $.ajax({
 type: "POST",
 url: "getCity.php",
 data:'commune_id='+val,
 success: function(data){
  $("#quartier-list").html(data);
 }
 });
}

</script>

<?php if (isset($_POST['ok'])) {
 // c'est l'id que je récuper avec ce code
 echo 'la ville est : ' . $_POST["ville"].'<br>';
 echo 'la state est : ' . $_POST["comm"].'<br>';
 echo 'la city est : '  . $_POST["quartier"].'<br>';}
 ?> 

<?php 
 $idVille = !empty($_POST["ville"]) ? $_POST["ville"]: NULL;
 $query ="SELECT ville_name 
                   FROM ville 
                  WHERE id='$idVille' ";

  $results = $db_handle->runQuery($query);
  ; ?> 

</head>
<body>
 <form action="" method="POST">
 <div class="frmDronpDown">
  <div class="row">
   <label>ville:</label><br/>
    <select  name="ville" id="ville-list" class="demoInputBox form-control" onChange="getState(this.value);" >
     <option value disabled selected>Select ville</option>
     <?php foreach($results as $ville) { ?>
     <option value="<?php echo $ville['id']; ?>"> <?php echo $ville["ville_name"]; ?></option>
     <?php } ?>
    </select>
  </div>
  <div class="row">
   <label>Commune:</label><br/>
    <select name="comm" id="commune-list" class="demoInputBox form-control" onChange="getCity(this.value);" >
    <option value="" name="comm">Select commune</option> 
    </select>
  </div>
  <div class="row">
   <label>Quartier:</label><br/>
    <select name="quartier" id="quartier-list" class="demoInputBox form-control" >
    <option value="" name="quartier">Select quartier</option>
    </select>
  </div>
 </div>
 <button value="submit" name="ok">valider</button>
 </form>
</body>
</html>
0