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

jQuery Discussion :

Autocomplete et base de données


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Avril 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2015
    Messages : 3
    Par défaut Autocomplete et base de données
    Bonjour,
    Après des heures de recherches infructueuses, puis-je vous demander votre aide pour le problème suivant?

    J'ai 3 input avec autocomplete dans un formulaire. Tout fonctionne très bien.
    Pour l'un deux ( recherche d'un lieu dans une table de ma bdd), j'aimerais automatiquement alimenter 3 autres champs ( adresse, code postal et ville) suivant la valeur que l'utilisateur aura sélectionné (nom du bâtiment) dans les résultats de l'autocomplete.
    Voici le bout de code actuel qui ne fonctionne pas.

    index.php
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $(function() {
        $("#pickup").autocomplete({
            source: 'search_lieux.php',
            minLength: 2,
            select: function(event, ui) {
                $('#pickupadresse').val(ui.item.adresse);
    	    $('#pickupcp').val(ui.item.cp);
    	    $('#pickupville').val(ui.item.ville);
            }
        });
    });
    et plus loin
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <tr><td align="left" colspan="2"><input type="text" name="pickup" id="pickup" class="focus" value="" size="30" placeholder="Pick up" /></tr>
    <tr>		 
        <td colspan="2"><input type="text" name="pickupadresse" id="pickupadresse" value="" size="30" disabled="disabled" /></td>
    </tr>
    <tr>
        <td><input type="text" name="pickupcp" id="pickupcp" value="" size="6" disabled="disabled" /></td>
        <td><input type="text" name="pickupville" id="pickupville" value="" size="14" disabled="disabled" /></td>
    </tr>

    search_lieux.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
    <?php
    $dbhost = 'localhost';
    $dbuser = 'root';
    $dbpass = '';
    $dbname = 'madatabase';
    try {
      $conn = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
    }
    catch(PDOException $e) {
        echo $e->getMessage();
    }
     
    $return_arr = array();
     
    if ($conn){
        $ac_term = "%".$_GET['term']."%";
        $query = "SELECT * FROM lieux where Lieux_Nom like :term";
        $result = $conn->prepare($query);
        $result->bindValue(":term",$ac_term);
        $result->execute();
     
    while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
            	$row_array['adresse'] = $row['Lieux_Adresse'];
            	$row_array['cp'] = $row['Lieux_CP'];
                    $row_array['ville'] = $row['Lieux_Ville'];
     
            array_push($return_arr,$row_array);
        }     
    }
    	$conn = null;
            echo json_encode($return_array);
     
    ?>

    Une âme charitable pour sortir de ce problème?

  2. #2
    Membre chevronné
    Avatar de Darkaurora
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

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

    Informations forums :
    Inscription : Mai 2010
    Messages : 382
    Billets dans le blog
    1
    Par défaut
    je pense que le problème viens de l'objet ui, il serait intéressant de voir ce qu'il contient avec un console.log(ui) dans la propriété `select`.

    si tu as effectivement des propriétés `cp`et `ville`alors je ne sais pas, mais j'en doute.

  3. #3
    Candidat au Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Avril 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2015
    Messages : 3
    Par défaut
    Merci Darkaurora pour ta réponse.
    Peux-tu m'indiquer comment faire? je n'ai jamais utilisé le console.log.
    J'utilise Dreamweaver.

    Peut-être s'agit-il d'un conflit avec mes 2 autres autocomplete?

  4. #4
    Membre chevronné
    Avatar de Darkaurora
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

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

    Informations forums :
    Inscription : Mai 2010
    Messages : 382
    Billets dans le blog
    1
    Par défaut
    Dans ton navigateur lorsque tu es sur la page que tu testes il suffit d'appuyer sur F12 cela t'affiche généralement un cadre ou une nouvelle fenêtre. Tu dois pouvoir trouver un onglet "console", c'est à l'intérieur de cette onglet que s'affichera les résultats des "console.log()" que tu auras passé dans ton code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $(function() {
        $("#pickup").autocomplete({
            source: 'search_lieux.php',
            minLength: 2,
            select: function(event, ui) {
                console.log(ui, ui.item); // Dois t'afficher le contenu de ui et de ui.item dans la console de ton navigateur
                $('#pickupadresse').val(ui.item.adresse);
    	    $('#pickupcp').val(ui.item.cp);
    	    $('#pickupville').val(ui.item.ville);
            }
        });
    });

  5. #5
    Candidat au Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Avril 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2015
    Messages : 3
    Par défaut
    la console me renvoie une erreur 404 not found pour js/jquery.autocomplete.js
    Pourtant il est bien présent et fonctionne pour les autres...

    Par exemple pour la destination :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $(document).ready(function() {
        $('#destination').autocomplete({
            serviceUrl: 'search_lieux_destination.php',
            dataType: 'json'
        });
    });
    Etrange..

Discussions similaires

  1. autocomplete jquery depuis une base de données
    Par Invité dans le forum jQuery
    Réponses: 3
    Dernier message: 05/07/2011, 16h08
  2. UI Autocomplete avec base de données
    Par bellouk dans le forum jQuery
    Réponses: 6
    Dernier message: 24/07/2010, 13h23
  3. Réponses: 7
    Dernier message: 20/01/2010, 14h45
  4. [AJAX] Autocompletion + base de données
    Par enima83 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/06/2008, 16h37
  5. Requête à ma base de données qui empêche l'autocompletion
    Par kev42100 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/04/2008, 14h40

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