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

james -  
jordane45 Messages postés 40050 Statut Modérateur -
     <?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 40050 Statut Modérateur 4 758
 
<?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 49 Statut Membre
 
ç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 40050 Statut Modérateur 4 758 > James3.4 Messages postés 49 Statut Membre
 
Les afficher où ?
Qu'as tu essayé ?
0
jordane45 Messages postés 40050 Statut Modérateur 4 758
 
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 40050 Statut Modérateur 4 758 > 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 40050 Statut Modérateur
 
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 40050 Statut Modérateur 4 758
 
Ca vient du contenu de tes listes déroulantes.....
En ajax, que renvoies tu ?

0
James3.4 Messages postés 49 Statut Membre
 
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 49 Statut Membre
 
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 40050 Statut Modérateur 4 758 > James3.4 Messages postés 49 Statut Membre
 
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 49 Statut Membre > jordane45 Messages postés 40050 Statut Modérateur
 
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 24281 Statut Contributeur 1 584 > James3.4 Messages postés 49 Statut Membre
 
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 49 Statut Membre
 
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 40050 Statut Modérateur 4 758
 
Remontre nous ton code complet
0
James3.4 Messages postés 49 Statut Membre > jordane45 Messages postés 40050 Statut Modérateur
 
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