Bonjour a tous !
Je me permets de poster un message ici, car je ne trouve sur aucune source internet la réponse a mon problème...
Je début en AJAX, et j'ai quelques soucis..
J'ai 2 listes déroulantes, qui reprennent 2 champs de ma table en BDD, et je cherche a les croisé pour en faire une requete SQL
Exemple :
Liste Deroulante N°1 => Valeur X
Liste Deroulante N°2 => Valeur Y
SELECT * FROM 'table' WHERE XXX = Valeur X AND YYY = Valeur Y
Cependant, j'ai quelques soucis :
- Si je ne sélectionne pas les liste déroulante dans l'ordre.. L'affichage ne vient pas.
- Si je ne change pas mes liste déroulante de leur option par défaut, rien ne s'affiche.
A terme, je vais avoir 42 listes déroulantes, qui sont censée faire un entonnoir de résultat via une requête..
Je vous avoue être un peu perdu..
Je vous link mes codes.. Si vous avez une piste de solution, je prends
Affichage.html
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88 <!DOCTYPE html> <html> <head> *### Mes scripts JS et CSS ### </head> <body> * <script type="text/javascript"> **$( document ).ready(function() { * ****//Récupération de la valeur sélectionnée dans le premier select ****$("#users").change(function () { **********var valUser = ""; **********$("#users option:selected").each(function () { ****************valUser = $(this).val() + " "; **********}); **********//Affichage de l'agent sélectionné **********$("#txtHint").append("Agent sélectionné : "+valUser); *********** * **********//Récupération de la valeur sélectionnée dans le deuxième select **********$("#category").change(function () { ****************var valCategory = ""; ****************$("#category option:selected").each(function () { **********************valCategory = $(this).val() + " "; ****************}); ****************//Affichage de la catégorie sélectionnée ****************$("#txtHint").append("Categorie sélectionnée : "+valCategory); *********** * * **********if ((valUser!="") && (valCategory!="")) **********{ ************//Envoi des valeur récupérées par AJAX vers getUser.php ************$.ajax({ ******************type:"POST", ******************url: "getUser.php", ******************data:{ ********************valeurSelectUsers :valUser, ********************valeurSelectCategory : valCategory ******************}, ****************success:function(data) ****************{ ******************//Affichage du résultat dans la div résultat ******************$('.resultat').html(data); ****************} ************}); **********} * ********}); // Fin function #Category * * ****}); // Fin function #users * **}); // Fin function ready * </script> <form> **<select id="users" class="form-control"> ****<option value="">Selectionner un agent :</option> ****<option value="AA111">AGENT 1</option> ****<option value="BB222">AGENT 2</option> ****<option value="CC333">AGENT 3</option> ****<option value="DD444">AGENT 4</option> ****<option value="EE555">AGENT 5</option> **</select> </form> * * **<select id="category" class="form-control"> ****<option value="">Selectionner une categorie :</option> ****<option value="1">Categorie 1</option> ****<option value="2">Categorie 2</option> ****<option value="3">Categorie 3</option> ****<option value="4">Categorie 4</option> ****<option value="5">Categorie 5</option> ****<option value="6">Categorie 6</option> ****<option value="7">Categorie 7</option> ****<option value="8">Categorie 8</option> **</select> * </form> <br> <div id="txtHint"><b>Valeurs selectionnees : </b></div> <div class='resultat'></div> </body> </html>
getValeur.php
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php include("user.class.php"); * $user= new user(); //Envoie des valeur dans la fonction selectUser de la class user $return = $user->selectUser($_POST['valeurSelectUsers'],$_POST['valeurSelectCategory']); //Affiche le résultat echo $return; ?>
Valeur.class.php
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 <?php include("BDManager.class.php"); class user extends BDManager { ****public function selectUser($user,$categorie){ ********//Récupération de la connexion a la base ********$pdo=parent::getPDO(); ********$sql= $pdo->prepare("SELECT * FROM 'table' WHERE champ1 = '".$user."' OR champ2='".$categorie."'"); ********$sql ->execute() or die(print_r($pdo->errorInfo(), true)); * * ********//Affichage résultat ********echo "<table class='table table-hover'> ****************<tr> ****************<th>ID</th> ****************<th>Nom</th> ****************<th>Age</th> ****************<th>Site</th> ****************<th>Categorie</th> ****************</tr>"; * *******while ($donnees = $sql->fetch(PDO::FETCH_ASSOC)) ********{ ************echo "<tr>"; ************echo "<td>" . $donnees['ID'] . "</td>"; ************echo "<td>" . $donnees['Nom'] . "</td>"; ************echo "<td>" . $donnees['Age'] . "</td>"; ************echo "<td>" . $donnees['ID_site'] . "</td>"; ************echo "<td>" . $donnees['Categories'] . "</td>"; ************echo "</tr>"; ********} ********echo "</table>"; ****}*** } ?> </body> </html>
BDManager.class.php
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <?php class BDManager { * ****private* $Host; ****private* $Login; ****private* $Pass; ****private* $NameBD; ****private* $BddPDO; * ****public function __construct(){ * ********$this->Host = "localhost"; ********$this->Login = "xxx"; ********$this->Pass = "xxx"; ********$this->NameBD = "xxx"; * ********$this->BddPDO = new PDO('mysql:host=localhost;dbname='.$this->NameBD, $this->Login,$this->Pass); ********//return $bdd; ****} * ****public function getPDO(){ ********return $this->BddPDO; ****} } ?>
Voilà, je pense que vous avez tout :/
Si jamais j'oublie quoi que ce soit qui vous soit utile j'attends vos questions !
Merci d'avance les zamis !
Partager