IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Liste Déroulante + Requête


Sujet :

AJAX

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2015
    Messages : 9
    Points : 4
    Points
    4
    Par défaut [AJAX] Liste Déroulante + Requête
    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 !

  2. #2
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2015
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Up
    Je suis toujours à la recherche d'une solution..

    J'ai actuellement 2 listes déroulantes.
    Si la premiere n'est pas remplie, la deuxieme refuse de faire son travail seule :/

Discussions similaires

  1. [AJAX] Listes déroulantes
    Par gscorpio dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/12/2006, 09h15
  2. [AJAX] Liste déroulante pour afficher les informations en ajax div ?
    Par rob2-9 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 17/11/2006, 09h06
  3. [AJAX] Liste déroulante qui ne s'actualise pas avec XMLHttpRequest
    Par zoom61 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 14/11/2006, 09h52
  4. [AJAX] Listes déroulantes liées avec Ajax
    Par paupiette dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/08/2006, 16h51
  5. liste déroulante, requête SQL et valeur par défaut
    Par flukie dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 02/06/2006, 11h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo