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

Fermé
james - Modifié le 6 janv. 2020 à 22:58
jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 - 15 janv. 2020 à 13:19
     <?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 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
13 janv. 2020 à 19:53
<?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 mercredi 8 janvier 2020 Statut Membre Dernière intervention 5 septembre 2023
15 janv. 2020 à 12:34
ç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 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649 > James3.4 Messages postés 37 Date d'inscription mercredi 8 janvier 2020 Statut Membre Dernière intervention 5 septembre 2023
15 janv. 2020 à 13:19
Les afficher où ?
Qu'as tu essayé ?
0
jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
6 janv. 2020 à 22:58
Bonjour

Quel est le souci exactement ?

0
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 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649 > James
8 janv. 2020 à 08:38
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 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024
8 janv. 2020 à 09:41
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 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
8 janv. 2020 à 11:12
Ca vient du contenu de tes listes déroulantes.....
En ajax, que renvoies tu ?

0
James3.4 Messages postés 37 Date d'inscription mercredi 8 janvier 2020 Statut Membre Dernière intervention 5 septembre 2023
Modifié le 8 janv. 2020 à 18:28
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 mercredi 8 janvier 2020 Statut Membre Dernière intervention 5 septembre 2023
8 janv. 2020 à 18:42
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 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649 > James3.4 Messages postés 37 Date d'inscription mercredi 8 janvier 2020 Statut Membre Dernière intervention 5 septembre 2023
Modifié le 11 janv. 2020 à 16:56
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 mercredi 8 janvier 2020 Statut Membre Dernière intervention 5 septembre 2023 > jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024
11 janv. 2020 à 13:06
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 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471 > James3.4 Messages postés 37 Date d'inscription mercredi 8 janvier 2020 Statut Membre Dernière intervention 5 septembre 2023
Modifié le 11 janv. 2020 à 13:32
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 mercredi 8 janvier 2020 Statut Membre Dernière intervention 5 septembre 2023
13 janv. 2020 à 12:08
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 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
13 janv. 2020 à 12:50
Remontre nous ton code complet
0
James3.4 Messages postés 37 Date d'inscription mercredi 8 janvier 2020 Statut Membre Dernière intervention 5 septembre 2023 > jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024
Modifié le 13 janv. 2020 à 13:24
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