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

JavaScript Discussion :

Récupération de données SQL en js


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2021
    Messages : 4
    Par défaut Récupération de données SQL en js
    Bonjour, je viens vers vous parce que je bloque au niveau de mon code.

    J'ai crée une barre de recherche avec un système de suggestion en dessous.

    Je souhaite que lorsque l'on clique sur l'une de ces suggestions, la barre de recherche se remplisse automatiquement de l'intitulé de la suggestion.

    Je suis passé par du php car l'on recherche des éléments d'une requête SQL.

    J'ai essayé quelque chose mais c'est à chaque fois le premier élément qui ressort et seulement lui !

    Voici mon code :

    L'HTML :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      <form class="form-inline formsociete" method="post">
                  <h4 class = "h4titre">Société - Equipement : </h4>
                  <div class="alignementvertical">
                    <input class="form-control mr-sm-2 searchbarsociete" id="searchsociete" type="text" placeholder="Nom de la société" name="recherchesociete">
                  </div>
                  <input type="submit" class="btn btn-outline-info my-2 my-sm-0 btnrecherchesociete" value="Rechercher">
                  <div class="alignementvertical">
                    <div id="resultsociete">    
                    </div>
                  </div>
              </form>
    Le 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
    if(isset($_POST['societe']))
            {
                $autocompletesociete = (String) trim($_POST['societe']);
     
                $reqautosociete = $bdd->query("SELECT * FROM societe WHERE Snom LIKE '%".$autocompletesociete."%'");
     
                $reqautosoc = $reqautosociete->fetchALL();
     
                foreach($reqautosoc as $r)
                {
                    ?>   
                        <div class = "autocompletesociete"><a name="testsociete" onclick="Remplirsociete()" id="inputsociete" class="aautocompletesociete"><?= $r['Snom'] ?></a></div>
                    <?php    
                }
            }
    Le JS :
    Code : 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
     
    $(document).ready(function()
            {
                $("#searchsociete").keyup(function()
                {
                    $('#resultsociete').html('');
     
                    var societe = $(this).val();
     
                    if(societe != "")
                    {
                        $.ajax(
                            {
                                type: 'POST',
                                url: 'recherchesociete.php?id=' + urluser,
                                data: 'societe=' + encodeURIComponent(societe),
                                success: function(data)
                                {
                                    if(data != "")
                                    {
                                        $('#resultsociete').append(data);
                                    }
                                    else
                                    {
                                        document.getElementById('resultsociete').innerHTML = "<div style='font-size: 20px; text-align: left; margin-top: 10px; color: red; font-weight: 500'>Aucune société trouvée !</div>"
                                    }
                                }
                            }
                        )
                    }
                });
            });

    Ma tentative de résolution du problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            function Remplirsociete()
            {
                document.getElementById('searchsociete').value = document.getElementById('inputsociete').text;
                e.preventDefault();
            }

    Merci d'avance pour votre aide !

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    Bonjour,

    dans ton PHP, tu génères des liens qui ont tous le même id="inputsociete"; c'est déjà un problème...

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2021
    Messages : 4
    Par défaut
    Ok, que dois-je faire alors ?

    Si tu peux un peu plus me guider parce que là je suis perdu

    Merci

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    un id devant être unique sur la page, la première chose à faire est de modifier ton php afin qu'il génère des id uniques (incrémentation)...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2021
    Messages : 4
    Par défaut
    Ok, je vais essayer de faire ça alors, je reviens vers vous si je coince !

    Merci de votre réponse !

  6. #6
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 511
    Par défaut
    Bonjour,

    Si tu n'as pas de clé unique de la table societe, tu peux par exemple utiliser un index afin de différencier les id inputsociete0,inputsociete1,inputsociete2... :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    foreach($reqautosoc as $index=>$r){
    ?>
    <div class = "autocompletesociete"><a name="testsociete" onclick="Remplirsociete()" id="inputsociete<?=$index?>" class="aautocompletesociete"><?= $r['Snom'] ?></a></div>
    <?php
    }

    puis pour la fonction Remplirsociete(), il va falloir l'appeler comme suite onclick="Remplirsociete.call(this)" pour pouvoir utiliser le mot clé this à l'intérieur de la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function Remplirsociete(){
      document.getElementById('searchsociete').value = this.text;
    }

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2021
    Messages : 4
    Par défaut
    Eureka !

    Ta solution marche, merci beaucoup !

    Si tu savais depuis combien de temps je cherche une solution à ce problème

    Merci à tous d'avoir pris le temps de me répondre, vraiment !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Script VB de récupération de données SQL Server vers une feuille Excel
    Par Kazushi38 dans le forum VB.NET
    Réponses: 8
    Dernier message: 04/02/2016, 11h05
  2. [Débutant] Récupération de données SQL (procédure stockée) C#
    Par abassery dans le forum C#
    Réponses: 2
    Dernier message: 19/06/2012, 10h13
  3. Réponses: 5
    Dernier message: 09/10/2008, 14h28
  4. récupération de données SQL avec C++
    Par krusty++ dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 27/03/2006, 15h10

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