Liste de deroulante
Résolu/Fermé
oliviernapoleon
Messages postés
21
Date d'inscription
mercredi 8 septembre 2021
Statut
Membre
Dernière intervention
1 décembre 2021
-
8 sept. 2021 à 15:42
oliviernapoleon Messages postés 21 Date d'inscription mercredi 8 septembre 2021 Statut Membre Dernière intervention 1 décembre 2021 - 1 déc. 2021 à 11:51
oliviernapoleon Messages postés 21 Date d'inscription mercredi 8 septembre 2021 Statut Membre Dernière intervention 1 décembre 2021 - 1 déc. 2021 à 11:51
A voir également:
- Liste de deroulante
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Google sheet liste déroulante - Accueil - Guide bureautique
- Supprimer une liste déroulante excel - Forum Word
- Supprimer liste déroulante excel - Forum Excel
5 réponses
jordane45
Messages postés
38358
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 décembre 2024
4 719
Modifié le 8 sept. 2021 à 15:59
Modifié le 8 sept. 2021 à 15:59
Bonjour
Et bien tu fais comme pour le niveau 2... Un appel vers un script PHP via du code javascript Ajax..
NB: A l'avenir, merci d'utiliser les BALISES DE CODE pour poster ton code sur le forum
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Et bien tu fais comme pour le niveau 2... Un appel vers un script PHP via du code javascript Ajax..
NB: A l'avenir, merci d'utiliser les BALISES DE CODE pour poster ton code sur le forum
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
oliviernapoleon
Messages postés
21
Date d'inscription
mercredi 8 septembre 2021
Statut
Membre
Dernière intervention
1 décembre 2021
8 sept. 2021 à 17:05
8 sept. 2021 à 17:05
merci pour l'information et ton temps pour me repondre mais comment je procede ?
"Un appel vers un script PHP via du code javascript Ajax"
"Un appel vers un script PHP via du code javascript Ajax"
jordane45
Messages postés
38358
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 décembre 2024
4 719
8 sept. 2021 à 20:55
8 sept. 2021 à 20:55
Ben, de la même façon que tu as fait tes deux autres listes....
Je ne vois pas ce qui te bloque...
C'est exactement la même chose que ce que tu as déjà...
Je ne vois pas ce qui te bloque...
C'est exactement la même chose que ce que tu as déjà...
oliviernapoleon
Messages postés
21
Date d'inscription
mercredi 8 septembre 2021
Statut
Membre
Dernière intervention
1 décembre 2021
>
jordane45
Messages postés
38358
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 décembre 2024
8 sept. 2021 à 20:57
8 sept. 2021 à 20:57
justement quand je fais la mm chose ca ne marche pas.
jordane45
Messages postés
38358
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 décembre 2024
4 719
>
oliviernapoleon
Messages postés
21
Date d'inscription
mercredi 8 septembre 2021
Statut
Membre
Dernière intervention
1 décembre 2021
8 sept. 2021 à 21:01
8 sept. 2021 à 21:01
Ben montres nous ce que tu as essayé .... sinon on ne peut pas voir ce que tu as mal fait !
De plus, pense à regarder dans la console javascript de ton navigateur ( je te conseille d'ailleurs le temps de développer de privilégier FireFox ) afin de voir les éventuelles erreurs de code js.
Il faut également, dans la console js, que tu penses à activer le debugage de l'ajax ( en général, c'est nommé XHR )
Côté PHP, pense aussi à activer l'affichage des erreurs du code php ainsi que celles de PDO.
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Reviens nous voir avec le code modifié et éventuellement des captures écran de la console de FireFox avec les requêtes ajax dedans afin de voir ce qui coince
De plus, pense à regarder dans la console javascript de ton navigateur ( je te conseille d'ailleurs le temps de développer de privilégier FireFox ) afin de voir les éventuelles erreurs de code js.
Il faut également, dans la console js, que tu penses à activer le debugage de l'ajax ( en général, c'est nommé XHR )
Côté PHP, pense aussi à activer l'affichage des erreurs du code php ainsi que celles de PDO.
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Reviens nous voir avec le code modifié et éventuellement des captures écran de la console de FireFox avec les requêtes ajax dedans afin de voir ce qui coince
oliviernapoleon
Messages postés
21
Date d'inscription
mercredi 8 septembre 2021
Statut
Membre
Dernière intervention
1 décembre 2021
>
jordane45
Messages postés
38358
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 décembre 2024
8 sept. 2021 à 21:13
8 sept. 2021 à 21:13
VOICI LE CODE modifier
INDEX.HTML
<form action="add_panne.php" method="POST">
<div class="modal-body">
<!-- N°SAV dropdown -->
<div class="row mb-3">
<label for="nsav" class="col-sm-3 col-form-label">N°SAV :</label>
<div class="col sm-8">
<select onChange="getclient(this.value)" ; name="nsav" id="nsav" class="form-control">
<option value="">Selectionnez N°SAV</option>
<?php
require_once("connexion.php");
$reponse = $connexion->query('SELECT * FROM nsav');
while ($row = $reponse->fetch()){
?>
<option value="<?php echo $row['n_sav'];?>"><?php echo $row['n_sav'];?></option>;
<?php }?>
</select>
</div>
</div>
<!-- Clients dropdown -->
<div class="row mb-3">
<label for="clients" class="col-sm-3 col-form-label">CLIENTS :</label>
<div class="col sm-8">
<select onChange="getdata(this.value)" ; name="clients" id="client-list" class="form-control">
<option value="">Selectionnez un client</option>
</select>
</div>
</div>
<!-- REPERE dropdown -->
<div class="row mb-3">
<label for="reperes" class="col-sm-3 col-form-label">REPERES :</label>
<div class="col sm-8">
<select name="reperes" id="repere-list" class="form-control">
<option value="">Selectionnez le repere</option>
</select>
<!-- N°contrat dropdown -->
<div class="row mb-3">
<label for="ncontrat" class="col-sm-3 col-form-label">N°CONTRAT :</label>
<div class="col sm-8">
<select name="ncontrat" id="ncontrat-list" class="form-control">
<option value="">Selectionnez N°contrat</option>
</select>
</div>
</div>
<div class="row mb-3">
<label for="contrats" class="col-sm-3 col-form-label">CONTRAT :</label>
<div class="col sm-8">
<select name="contrats" id="contrat-list" class="form-control">
<option value="">Selectionnez contrat</option>
</select>
</div>
</div>
</div>
</form>
SCRIPT JS :
function getclient(val){
$.ajax({
type: "POST",
url: "get_clients.php",
data:'id='+val,
success: function(data){
$("#client-list").html(data);
}
});
}
function getdata(val){
$.ajax({
type: "POST",
url: "get_data.php",
data:'id='+val,
success: function(data){
$("#repere-list").html(data);
$("#ncontrat-list").html('<option value="">selectionnez un ncontrat</option>');
$("#contrat-list").html('<option value="">selectionnez un contrat</option>');
}
});
}else{
$("#ncontrat").html('<option value="">Selectionnez un client</option>');
$("#contrat").html('<option value="">Selectionnez un client</option>');
}
});
GET_DATA.PHP
<?php
require_once("connexion.php");
if(!empty($_POST["id"])){
$nsavid=$_POST["id"];
$sql = $connexion->prepare("SELECT * FROM clients WHERE n_sav =:nsavid");
$sql->execute(array(':nsavid' => $nsavid));
?>
<option value="">selectionnez un client</option>
<?php
while($row = $sql->fetch()){
?>
<option value="<?php echo $row["nom_client"]; ?>"><?php echo $row["nom_client"]; ?></option>
<?php
}
}
if(!empty($_POST["id"])){
$clientsid=$_POST["id"];
$sql = $connexion->prepare("SELECT * FROM reperes WHERE nom_client =:clientsid");
$sql->execute(array(':clientsid' => $clientsid));
?>
<option value="">selectionnez un repere</option>
<?php
while($row = $sql->fetch()){
?>
<option value="<?php echo $row["repere"]; ?>"><?php echo $row["repere"]; ?></option>
<?php
}
}
if(!empty($_POST["id"])){
$clientsid=$_POST["id"];
$sql = $connexion->prepare("SELECT * FROM ncontrat WHERE nom_client =:clientsid");
$sql->execute(array(':clientsid' => $clientsid));
?>
<option value="">selectionnez un ncontrat</option>
<?php
while($row = $sql->fetch()){
?>
<option value="<?php echo $row["n_contrat"]; ?>"><?php echo $row["n_contrat"]; ?></option>
<?php
}
}
if(!empty($_POST["id"])){
$clientsid=$_POST["id"];
$sql = $connexion->prepare("SELECT * FROM contrat WHERE nom_client =:clientsid");
$sql->execute(array(':clientsid' => $clientsid));
?>
<option value="">selectionnez un contrat</option>
<?php
while($row = $sql->fetch()){
?>
<option value="<?php echo $row["contrat"]; ?>"><?php echo $row["contrat"]; ?></option>
<?php
}
}
?>
INDEX.HTML
<form action="add_panne.php" method="POST">
<div class="modal-body">
<!-- N°SAV dropdown -->
<div class="row mb-3">
<label for="nsav" class="col-sm-3 col-form-label">N°SAV :</label>
<div class="col sm-8">
<select onChange="getclient(this.value)" ; name="nsav" id="nsav" class="form-control">
<option value="">Selectionnez N°SAV</option>
<?php
require_once("connexion.php");
$reponse = $connexion->query('SELECT * FROM nsav');
while ($row = $reponse->fetch()){
?>
<option value="<?php echo $row['n_sav'];?>"><?php echo $row['n_sav'];?></option>;
<?php }?>
</select>
</div>
</div>
<!-- Clients dropdown -->
<div class="row mb-3">
<label for="clients" class="col-sm-3 col-form-label">CLIENTS :</label>
<div class="col sm-8">
<select onChange="getdata(this.value)" ; name="clients" id="client-list" class="form-control">
<option value="">Selectionnez un client</option>
</select>
</div>
</div>
<!-- REPERE dropdown -->
<div class="row mb-3">
<label for="reperes" class="col-sm-3 col-form-label">REPERES :</label>
<div class="col sm-8">
<select name="reperes" id="repere-list" class="form-control">
<option value="">Selectionnez le repere</option>
</select>
<!-- N°contrat dropdown -->
<div class="row mb-3">
<label for="ncontrat" class="col-sm-3 col-form-label">N°CONTRAT :</label>
<div class="col sm-8">
<select name="ncontrat" id="ncontrat-list" class="form-control">
<option value="">Selectionnez N°contrat</option>
</select>
</div>
</div>
<div class="row mb-3">
<label for="contrats" class="col-sm-3 col-form-label">CONTRAT :</label>
<div class="col sm-8">
<select name="contrats" id="contrat-list" class="form-control">
<option value="">Selectionnez contrat</option>
</select>
</div>
</div>
</div>
</form>
SCRIPT JS :
function getclient(val){
$.ajax({
type: "POST",
url: "get_clients.php",
data:'id='+val,
success: function(data){
$("#client-list").html(data);
}
});
}
function getdata(val){
$.ajax({
type: "POST",
url: "get_data.php",
data:'id='+val,
success: function(data){
$("#repere-list").html(data);
$("#ncontrat-list").html('<option value="">selectionnez un ncontrat</option>');
$("#contrat-list").html('<option value="">selectionnez un contrat</option>');
}
});
}else{
$("#ncontrat").html('<option value="">Selectionnez un client</option>');
$("#contrat").html('<option value="">Selectionnez un client</option>');
}
});
GET_DATA.PHP
<?php
require_once("connexion.php");
if(!empty($_POST["id"])){
$nsavid=$_POST["id"];
$sql = $connexion->prepare("SELECT * FROM clients WHERE n_sav =:nsavid");
$sql->execute(array(':nsavid' => $nsavid));
?>
<option value="">selectionnez un client</option>
<?php
while($row = $sql->fetch()){
?>
<option value="<?php echo $row["nom_client"]; ?>"><?php echo $row["nom_client"]; ?></option>
<?php
}
}
if(!empty($_POST["id"])){
$clientsid=$_POST["id"];
$sql = $connexion->prepare("SELECT * FROM reperes WHERE nom_client =:clientsid");
$sql->execute(array(':clientsid' => $clientsid));
?>
<option value="">selectionnez un repere</option>
<?php
while($row = $sql->fetch()){
?>
<option value="<?php echo $row["repere"]; ?>"><?php echo $row["repere"]; ?></option>
<?php
}
}
if(!empty($_POST["id"])){
$clientsid=$_POST["id"];
$sql = $connexion->prepare("SELECT * FROM ncontrat WHERE nom_client =:clientsid");
$sql->execute(array(':clientsid' => $clientsid));
?>
<option value="">selectionnez un ncontrat</option>
<?php
while($row = $sql->fetch()){
?>
<option value="<?php echo $row["n_contrat"]; ?>"><?php echo $row["n_contrat"]; ?></option>
<?php
}
}
if(!empty($_POST["id"])){
$clientsid=$_POST["id"];
$sql = $connexion->prepare("SELECT * FROM contrat WHERE nom_client =:clientsid");
$sql->execute(array(':clientsid' => $clientsid));
?>
<option value="">selectionnez un contrat</option>
<?php
while($row = $sql->fetch()){
?>
<option value="<?php echo $row["contrat"]; ?>"><?php echo $row["contrat"]; ?></option>
<?php
}
}
?>
jordane45
Messages postés
38358
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 décembre 2024
4 719
Modifié le 9 sept. 2021 à 20:44
Modifié le 9 sept. 2021 à 20:44
- Je t'ai indiqué que tu devais utiliser les BALISES DE CODE pour poster ton code sur le forum ... tu ne l'as pas fait !!!
Je te redonne le lien explicatif : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
- Je ne vois pas les blocs TRY/CATCH pour chaque requête SQL
- Je ne vois pas l'activation de l'affichage des erreurs PHP au début de ton code
- Dans le fichier get_data.php tu ne dois pas avoir la requête qui recherche les clients...puisque elle se trouve dans le fichier get_clients.php
Ensuite.. pour revenir à ta question..
Cote JS, il faut modifier ta fonction getdata pour lui permettre de retourner plusieurs choses.
pour ça, il faut qu'elle retourne le résultat au format JSON
ça devrait donner un truc du genre :
Côté PHP, il faut que tu retournes donc désormais un array au format JSON
Edit: correction de la ligne 80
Je te redonne le lien explicatif : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
- Je ne vois pas les blocs TRY/CATCH pour chaque requête SQL
- Je ne vois pas l'activation de l'affichage des erreurs PHP au début de ton code
- Dans le fichier get_data.php tu ne dois pas avoir la requête qui recherche les clients...puisque elle se trouve dans le fichier get_clients.php
Ensuite.. pour revenir à ta question..
Cote JS, il faut modifier ta fonction getdata pour lui permettre de retourner plusieurs choses.
pour ça, il faut qu'elle retourne le résultat au format JSON
ça devrait donner un truc du genre :
function getdata(val){ $.ajax({ type: "POST", url: "get_data.php", dataType : "json", data: {'id':val}, success: function(data){ console.log("reponse ajax",data); // pour voir dans la console la réponse $("#repere-list").html(data.reperes); //pour les reperes $("#ncontrat-list").html(data.ncontrats); // pour les ncontrats $("#contrat-list").html(data.contrats); // pour les contrats }, error: function(xhr,error){ console.log("erreur reponse ajax",xhr,error); // pour voir dans la console l'erreur } }); }
Côté PHP, il faut que tu retournes donc désormais un array au format JSON
<?php /** * Fichier : get_data.php */ //affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //connexion à la bdd require_once("connexion.php"); function db_All($sql,$datas=NULL){ global $connexion; try{ $prep = $connexion->prepare($sql); $prep->execute($datas); }catch(Exception $e){ echo "Erreur " . $e->getMessage(); } return $prep->fetchAll(); // on retourne le resultat de la requête en Array } function getReperes($id){ $sql = "SELECT * FROM reperes WHERE nom_client =:clientsid"; $datas = [':clientsid'=>$id]; $res = db_All($sql,$datas); $html = "<option value=''>selectionnez un repere</option>"; if(!empty($res)){ foreach($res as $row){ $html .= "<option value='".$row["repere"]."'>". $row["repere"]."</option>"; } } return $html; } function getNcontrats($id){ $sql = "SELECT * FROM ncontrat WHERE nom_client =:clientsid"; $datas = [':clientsid'=>$id]; $res = db_All($sql,$datas); $html = "<option value=''>selectionnez un ncontrat</option>"; if(!empty($res)){ foreach($res as $row){ $html .= "<option value='".$row["n_contrat"]."'>". $row["n_contrat"]."</option>"; } } return $html; } function getContrats($id){ $sql = "SELECT * FROM contrat WHERE nom_client =:clientsid"; $datas = [':clientsid'=>$id]; $res = db_All($sql,$datas); $html = "<option value=''>selectionnez un contrat</option>"; if(!empty($res)){ foreach($res as $row){ $html .= "<option value='".$row["contrat"]."'>". $row["contrat"]."</option>"; } } return $html; } //récupération PROPRE des variables AVANT de les utiliser $id = !empty($_POST["id"]) ? $_POST["id"]: NULL; $returnDatas = array(); $returnDatas['reperes'] = getReperes($id); $returnDatas['ncontrats'] = getNcontrats($id); $returnDatas['contrats'] = getContrats($id); // On renvoi les données au format JSON echo json_encode($returnDatas); exit; // point virgule et non pas deux points
Edit: correction de la ligne 80
oliviernapoleon
Messages postés
21
Date d'inscription
mercredi 8 septembre 2021
Statut
Membre
Dernière intervention
1 décembre 2021
9 sept. 2021 à 17:55
9 sept. 2021 à 17:55
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
Modifié le 9 sept. 2021 à 18:45
Modifié le 9 sept. 2021 à 18:45
Bonjour,
Merci de faire un minimum d'effort quand on reçoit de l'aide stp.
Le code proposé est fait à partir de ton propre code et il contient des commentaires.
Si certains points ne sont pas compris, merci de les préciser clairement. Indiquer seulement "je ne comprend rien" (sans parler des maj) n'est absolument pas pertinent.
Concernant l'erreur, la ligne où elle est produite est indiquée dans ton ide (ligne 80) et n'est pas bien dur à voir. Apprendre à corriger ce genre d'erreur est également une très bonne manière de progresser si tu es débutant.
Merci de faire un minimum d'effort quand on reçoit de l'aide stp.
Le code proposé est fait à partir de ton propre code et il contient des commentaires.
Si certains points ne sont pas compris, merci de les préciser clairement. Indiquer seulement "je ne comprend rien" (sans parler des maj) n'est absolument pas pertinent.
Concernant l'erreur, la ligne où elle est produite est indiquée dans ton ide (ligne 80) et n'est pas bien dur à voir. Apprendre à corriger ce genre d'erreur est également une très bonne manière de progresser si tu es débutant.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
oliviernapoleon
Messages postés
21
Date d'inscription
mercredi 8 septembre 2021
Statut
Membre
Dernière intervention
1 décembre 2021
16 sept. 2021 à 15:33
16 sept. 2021 à 15:33
bonjour
d’après mes recherches sur Google
j'ai pu faire sa
code
malheureusement toujours des soucis
la case repere ne s'affiche pas et les deux autres cases ne marche pas
vraiment je suis epuisé
d’après mes recherches sur Google
j'ai pu faire sa
code
code script : function getClient(val) { $.ajax({ type: "POST", url: "get_clients.php", data: 'id='+val, success: function(data){ $("#client-list").html(data); // pour les clients } }); } function getData(val) { $.ajax({ type: "POST", url: "get_data.php", dataType : "json", data: 'id='+val, success: function(data) { console.log("reponse ajax",data); // pour voir dans la console la réponse $("#ncontrat-list").html(data.ncontrat); // pour les ncontrats $("#repere-list").html(data.reperes); // pour les reperes $("#contrat-list").html(data.contrats); // pour les contrats }, error: function(xhr,error) { console.log("erreur reponse ajax",xhr,error); // pour voir dans la console l'erreur } }); }
code get data: <?php //connexion à la bdd require_once("connexion.php"); $response = []; ?> <?php //connexion à la table ncontrat ob_start(); if (!empty($_POST["id"])) { $clientsid = $_POST["id"]; $sql = $connexion->prepare("SELECT * FROM ncontrat WHERE nom_client =:clientsid"); $sql->execute(array(':clientsid' => $clientsid)); ?> <?php while ($row = $sql->fetch()) { ?> <option value="<?php echo $row["n_contrat"]; ?>"><?php echo $row["n_contrat"]; ?></option> <?php } } $response['ncontrat'] = ob_get_clean(); ?> <?php //connexion à la table reperes ob_start(); if (!empty($_POST["id"])) { $clientsid = $_POST["id"]; $sql = $connexion->prepare("SELECT * FROM reperes WHERE nom_client =:clientsid"); $sql->execute(array(':clientsid' => $clientsid)); ?> <option value="">Choisir un ascenseur</option> <?php while ($row = $sql->fetch()) { ?> <option value="<?php echo $row["repere"]; ?>"><?php echo $row["repere"]; ?></option> <?php } } $response['reperes'] = ob_get_clean(); ?> <?php //connexion à la table contrat ob_start(); if (!empty($_POST["id"])) { $clientsid = $_POST["id"]; $sql = $connexion->prepare("SELECT * FROM contrats WHERE nom_client =:clientsid"); $sql->execute(array(':clientsid' => $clientsid)); ?> <?php while ($row = $sql->fetch()) { ?> <option value="<?php echo $row["contrat"]; ?>"><?php echo $row["contrat"]; ?></option> <?php } } $response['contrats'] = ob_get_clean(); // Response return header('Content-Type: application/json'); echo json_encode($response); exit; ?>
malheureusement toujours des soucis
la case repere ne s'affiche pas et les deux autres cases ne marche pas
vraiment je suis epuisé
jordane45
Messages postés
38358
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 décembre 2024
4 719
16 sept. 2021 à 17:58
16 sept. 2021 à 17:58
bon,
déjà... ton code est assez proche de ce que je t'avais donné...
Ensuite, pour voir ce qui cloche, il faut regarder la console javascript de ton navigateur ( de préférence, passes par firefox) et penses bien à activer le débug de l'ajax ( en général, appellé xhr )
déjà... ton code est assez proche de ce que je t'avais donné...
Ensuite, pour voir ce qui cloche, il faut regarder la console javascript de ton navigateur ( de préférence, passes par firefox) et penses bien à activer le débug de l'ajax ( en général, appellé xhr )
oliviernapoleon
Messages postés
21
Date d'inscription
mercredi 8 septembre 2021
Statut
Membre
Dernière intervention
1 décembre 2021
>
jordane45
Messages postés
38358
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 décembre 2024
1 déc. 2021 à 11:51
1 déc. 2021 à 11:51
voici le code corrigé et qui marche bien :
formulaire :
CODE SCRIPT JAVASCRIPT :
CODE GET_CLIENTS :
GET_DATA :
formulaire :
<form action="code.php" method="POST">
<div class="modal-body">
<div class="form-group">
<label for="n_sav">N°SAV</label>
<select onChange="getClient(this.value);" name="n_sav" id="nsav" class="form-control">
<option value="">Selectionnez N°SAV</option>
<?php
$query = $connexion->query('SELECT * FROM nsav');
while ($row = $query->fetch()){
?>
<option value="<?php echo $row['n_sav']; ?>"><?php echo $row['n_sav']; ?></option>;
<?php
}
?>
</select>
</div>
<div class="form-group">
<label for="date_appel">DATE APPEL</label>
<input type="datetime-local" name="date_appel" class="form-control">
</div>
<div class="form-group">
<label for="nom_client">CLIENTS</label>
<select onChange="getData(this.value);" name="nom_client" id="client-list" class="form-control">
<option value="">Selectionnez un client</option>
</select>
</div>
<div class="form-group">
<label for="n_contrat">N°CONTRAT</label>
<select name="n_contrat" id="ncontrat-list" class="form-control">
<option value="">Selectionnez N°CONTRAT</option>
</select>
</div>
<div class="form-group">
<label for="contact">CONTACT</label>
<input type="text" name="contacts" class="form-control" placeholder="Entrer contact du client">
</div>
<div class="form-group">
<label for="messages">MESSAGES</label>
<textarea name="message_client" class="form-control"></textarea>
</div>
<div class="form-group">
<label for="repere">REPERES</label>
<select name="ascenseur" id="repere-list" class="form-control">
<option value="">Selectionnez le repere</option>
</select>
</div>
<div class="form-group">
<label for="nombre_panne">NOMBRE PANNE</label>
<input type="text" name="nombre_panne" class="form-control" placeholder="Entrer le nombre panne">
</div>
<div class="form-group">
<label for="nom_responsable">RESPONSABLE ZONE</label>
<select name="nom_responsable" id="responsable-list" class="form-control">
<option value="">Selectionnez un responsable</option>
<?php
$reponse = $connexion->query('SELECT * FROM responsables');
while ($row = $reponse->fetch()){
?>
<option value="<?php echo $row['nom_responsable'];?>"><?php echo $row['nom_responsable'];?></option>;
<?php
}
?>
</select>
</div>
<div class="form-group">
<label for="nom_technicien">TECHNICIENS</label>
<select name="nom_technicien" id="technicien-list" class="form-control">
<option value="">Selectionnez un technicien</option>
<?php
$reponse = $connexion->query('SELECT * FROM techniciens');
while ($row = $reponse->fetch()){
?>
<option value="<?php echo $row['nom_technicien'];?>"><?php echo $row['nom_technicien'];?></option>;
<?php }?>
</select>
</div>
<div class="form-group">
<label for="contrat">CONTRAT</label>
<select name="contratype" id="contrat-list" class="form-control">
<option value="">Selectionnez le contrat</option>
</select>
</div>
</div>
<div class="modal-footer">
<button type="reset" class="btn btn-danger">Annuler</button>
<button type="submit" name="save_btn" class="btn btn-info">Enregistrer</button>
</div>
</form>
CODE SCRIPT JAVASCRIPT :
<script>
function getClient(val){
$.ajax({
type: "POST",
url: "get_client.php",
data: 'id='+val,
success: function(data){
$("#client-list").html(data); // pour les clients
}
});
}
function getData(val){
$.ajax({
type: "POST",
url: "get_data.php",
dataType : "json",
data: 'id='+val,
success: function(data){
console.log("reponse ajax",data); // pour voir dans la console la réponse
$("#ncontrat-list").html(data.ncontrat); // pour les N°contrats
$("#repere-list").html(data.reperes); // pour les reperes
$("#contrat-list").html(data.contrats); // pour les contrats
},
error: function(xhr,error){
console.log("erreur reponse ajax",xhr,error); // pour voir dans la console l'erreur
}
});
}
</script>
<script>
function getNcontrat(val){
$.ajax({
type: "POST",
url: "get_ncontrat.php",
dataType : "json",
data: 'id='+val,
success: function(data){
console.log("reponse ajax",data); // pour voir dans la console la réponse
$("#ncontrat-list").html(data.ncontrat); // pour les N°contrats
$("#repere-list").html(data.reperes); // pour les reperes
},
error: function(xhr,error){
console.log("erreur reponse ajax",xhr,error); // pour voir dans la console l'erreur
}
});
}
</script>
CODE GET_CLIENTS :
<?php
require_once("connexion.php");
if(!empty($_POST["id"])){
$nsavid = $_POST["id"];
$sql = $connexion->prepare("SELECT * FROM clients WHERE n_sav =:nsavid");
$sql->execute(array(':nsavid' => $nsavid));
?>
<option value="">---- Choisir un client ----</option>
<?php
while($row = $sql->fetch()){
?>
<option value="<?php echo $row["nom_client"]; ?>"><?php echo $row["nom_client"]; ?></option>
<?php
}
}
?>
GET_DATA :
<?php
//connexion à la bdd
require_once("connexion.php");
$response = [];
?>
<?php
//connexion à la table ncontrat
ob_start();
if(!empty($_POST["id"])){
$clientsid = $_POST["id"];
$sql = $connexion->prepare("SELECT * FROM ncontrat WHERE nom_client =:clientsid");
$sql->execute(array(':clientsid' => $clientsid));
?>
<?php
while ($row = $sql->fetch()){
?>
<option value="<?php echo $row["n_contrat"]; ?>"><?php echo $row["n_contrat"]; ?></option>
<?php
}
}
$response['ncontrat'] = ob_get_clean();
?>
<?php
//connexion à la table reperes
ob_start();
if(!empty($_POST["id"])){
$clientsid = $_POST["id"];
$sql = $connexion->prepare("SELECT * FROM reperes WHERE nom_client =:clientsid");
$sql->execute(array(':clientsid' => $clientsid));
?>
<option value=""> ---- Choisir un ascenseur ---- </option>
<?php
while ($row = $sql->fetch()){
?>
<option value="<?php echo $row["repere"]; ?>"><?php echo $row["repere"]; ?></option>
<?php
}
}
$response['reperes'] = ob_get_clean();
?>
<?php
//connexion à la table contrat
ob_start();
if (!empty($_POST["id"])){
$clientsid = $_POST["id"];
$sql = $connexion->prepare("SELECT * FROM contrats WHERE nom_client =:clientsid");
$sql->execute(array(':clientsid' => $clientsid));
?>
<?php
while ($row = $sql->fetch()){
?>
<option value="<?php echo $row["contrat"]; ?>"><?php echo $row["contrat"]; ?></option>
<?php
}
}
$response['contrats'] = ob_get_clean();
// Response return
header('Content-Type: application/json');
echo json_encode($response);
exit;
?>