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 :

Remplir un SELECT après recherche en BdD


Sujet :

AJAX

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2024
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2024
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Remplir un SELECT après recherche en BdD
    Bonjour, je débute avec ajax et j'ai lu beaucoup de cours et de forum mais j'ai un besoin et je ne trouve pas grand chose ...
    J'ai un formulaire en php d'update SQL, très simple, un input et un select, est-il possible à partir de la saisie dans l'input de faire une recherche dans la bdd afin de renvoyer l'intégralité de la table pour alimenter le select en affichant dans ce même select le résultat de la recherche de l'input ?

    Pas très clair, un exemple, dans mon input je rentre un numéro d'immatriculation je souhaite que le select affiche "l'état", en réparation par exemple et que je puisse le changer à Réparé pour pouvoir updater.

    Merci pour votre aide.

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2022
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2022
    Messages : 122
    Points : 255
    Points
    255
    Par défaut
    Bonjour si j'ai bien compris tu réponds à ta question en la posant
    Tu veux saisir le numéro d'immatriculation
    Ca te donne son état "En réparation"
    Tu veux le modifier directement et que ca la modifie en bdd

    Tu as "juste" à :
    - Mettre un écouteur d'évènement sur ta balise de sortie (la ou tu affiches l'état) => onChange event pour les selects par exemple , ou si tu veux saisir à la main dans un input (change), a toi de voir ce qui te va le mieux
    - Quand tu modifie , ca déclenche l'event et donc tu lance une requêtes ajax avec ta plaque d'immatriculation précédemment saisie et ton nouveau état vers un fichier php => updateEtat.php
    - Dans le fichier php tu update en bdd

    près à toi de voir la suite après modification , tu recharges la page avec le numéro d'immatriculation en paramètre pour voir la valeur précédemment modifié , tu recharges ta page sans data et a toi de refaire la recherche ,etc ...
    A toi de voir
    J'espère avoir été clair
    Hésite pas
    Bon courage

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2024
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2024
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour Gabi, merci pour ce premier retour malheureusement je ne le comprends pas trop

    En fait j'ai un input vide, et un select alimenté par une requete sql, je voudrais qu'en renseignant l'input cela actualise le select avec l'information "statut" de cette immatriculation dans la bdd.

    Merci pour ton aide

  4. #4
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2022
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2022
    Messages : 122
    Points : 255
    Points
    255
    Par défaut
    Code stp
    Ca sera 400 fois plus simple ,
    Bon j'abuse un peu mais au moins je suis sur de comprendre ou tu veux en venir

    Parce que ce qu'il y a dans le select ? Je sais pas ? je présume les immatriculations ?


    tu peux récupérer le numéro de plaque dans ton select via un truc du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var index = document.querySelector('#mon_select_id').selectedIndex  // La tu récup l'index de l'option qui est sélectionné dans ton select et ensuite tu peux récupérer ton option
    document.querySelectorAll('#mon_select_id option')[index].textContent // La tu récupère ta data dans ton option sélectionné , tu peux choisir .textContent ou .value

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2024
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2024
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci pour ton aide, j'ai compris ton code mais je ne parviens pas à l'adapter.

    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
    <div class="form-group">
                  <input name="immat" class="form-control" type="text" required value="" placeholder="Immatriculation">
                </div>
                <div class="form-group">
                  <select class="form-control margin-bottom-15" name="statut" required>
                    <?php
                                    while ($rep_sql_statut= mysqli_fetch_array($sql_statut))
                                    {
                                    ?>
                    <option value="<?php echo $rep_sql_statut['id_statut'] ?>"><?php echo $rep_sql_statut['nom_statut'] ?></option>
     
                    <?php
                                            }
                                            ?>
                  </select>
                </div>

    Je souhaite en rentrant une immat que ça cherche dans la bdd le statut correspondant pour l'afficher en "selected" dans le select tout en conservant la boucle while pour pouvoir le modifier si besoin.

    Mes tables sont simplistes, une table immat : id_immat, immat et une table statut : id_statut, id_immat, nom_statut

    Merci pour le temps que tu m'accordes.

  6. #6
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2022
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2022
    Messages : 122
    Points : 255
    Points
    255
    Par défaut
    Primo tu t'es trompé de forum
    T'as demande correspond à du php sans ajax , sans js , que du php
    Donc tu aurais du faire ta demande dans le langage php.
    C'est peut être une contrainte que tu t'imposes et bah force à toi.

    Qu'est ce qui fonctionne ? Qu'est ce qui ne fonctionne pas dans ton code ? on va finir par y arriver ...
    T'as un message d'erreur ? Des données affichés ?
    Plus t'en donne moins c'est dur , moins t'en donne plus c'est dur...

    Tu veux afficher donc tout les status dans ton select ? Et que celui selectionner soit celui de l'immat ,
    Comme ca si tu veux changer l'état / status tu peux le faire .
    Bah c'est simple tu récupères tout tes status et tu récupères le statut de l'immat.
    Tu auras juste à mettre 'selected' à ton option (status / état) style :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $id=$rep_sql_statut['id_statut'];
    $statut=$rep_sql_statut['nom_statut'];
    if($id==$id_statut_immat){  // Statut de ton immat récupéré depuis ta bdd
      // Tu éco un options avec selected
    }
    else{
      // Tu éco un options sans selected 
    }
    >

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2024
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2024
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour Gabi,

    Je ne pense pas mettre trompé de forum ...

    Sans rechargement de la page est il possible d'actualisé le statut dans la liste sachant qu'on chargement initial l'input est vide ?

  8. #8
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 415
    Points : 15 784
    Points
    15 784
    Par défaut
    dans ce cas vous êtes dans le bon forum et vous pouvez suivre ce que gabi7756 a indiqué dans sa 1re réponse :

    Citation Envoyé par gabi7756 Voir le message
    Tu as "juste" à :
    - Mettre un écouteur d'évènement sur ta balise de sortie (la ou tu affiches l'état) => onChange event pour les selects par exemple , ou si tu veux saisir à la main dans un input (change), a toi de voir ce qui te va le mieux
    - Quand tu modifie , ca déclenche l'event et donc tu lance une requêtes ajax avec ta plaque d'immatriculation précédemment saisie et ton nouveau état vers un fichier php => updateEtat.php
    - Dans le fichier php tu update en bdd
    pour écouter un évènement, regardez là :
    https://developer.mozilla.org/fr/doc...tener#exemples
    et pour envoyer une requête http en javascript, regardez là :
    https://developer.mozilla.org/fr/doc.../fetch#exemple

Discussions similaires

  1. Réponses: 5
    Dernier message: 24/11/2017, 16h02
  2. Programmer encore en VB 6 c'est pas bien ? Pourquoi ?
    Par Nektanebos dans le forum Débats sur le développement - Le Best Of
    Réponses: 85
    Dernier message: 10/03/2009, 14h43
  3. Réponses: 1
    Dernier message: 23/06/2002, 00h15
  4. Pas de fork sous Windows?
    Par chezjm dans le forum POSIX
    Réponses: 8
    Dernier message: 11/06/2002, 12h15

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