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

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    août 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : août 2019
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Autocomplete - afficher les données de ma base de donnée
    Bonjour, je suis étudiant.
    Actuellement en stage, je développe en PHP une petite application RH.

    J'arrive à un moment où je dois utiliser Ajax avec l'autocomplète afin d'actualiser ma page sans la rafraichir, mais ici je bloque totalement.
    J'ai une liste de 200 salarié et je voudrai à la suite d'avoir taper 2-3 lettre choisir le salarié que j'ai besoin. Seulement je ne trouve pas mon erreur.

    Voilà mon code et ma bdd.
    Merci d'avance !

    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
    CREATE TABLE IF NOT EXISTS `salarie` (
      `idSalarie` int(11) NOT NULL AUTO_INCREMENT,
      `idContrat` int(11) NOT NULL,
      `idDirection` int(11) NOT NULL,
      `idLieu` int(11) NOT NULL,
      `nomSalarie` varchar(255) NOT NULL,
      `prenomSalarie` varchar(255) NOT NULL,
      `mailSalarie` varchar(255) NOT NULL,
      `mailSalarie2` varchar(255) DEFAULT NULL,
      `dateEntree` date NOT NULL,
      `quitterEntrepriseSalarie` tinyint(1) DEFAULT NULL,
      `dateSortie` date DEFAULT NULL,
      PRIMARY KEY (`idSalarie`),
      KEY `fk_salariecontrat` (`idContrat`),
      KEY `fk_salarielieu` (`idLieu`),
      KEY `fk_salariedirection` (`idDirection`)
    ) ENGINE=InnoDB AUTO_INCREMENT=158 DEFAULT CHARSET=utf8;

    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
    33
    34
    35
    36
    37
    38
    39
    <?php 
     
    try 
    { 
    	$bdd = new PDO('mysql:host=localhost;dbname=mobilite', 'root', ''); 
    } 
    catch(Exception $e) 
    { 
     die('Erreur : '.$e->getMessage()); 
    } 
    ?> 
    <!DOCTYPE html> 
    <html> 
    <head> 
    <title>Test d'autocomplete</title> 
    <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"> 
     <script src="//code.jquery.com/jquery-1.10.2.js"></script> 
     <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script> 
    </head> 
    <form> 
    <input type="text" id="recherche"> 
    </form> 
     
    <?php 
    $req2 = $bdd->query('SELECT CONCAT(nomSalarie," ",prenomSalarie) FROM salarie'); 
    $data = array(); 
    $data = $req2->fetchAll(PDO::FETCH_COLUMN,0); 
    ?>
    <script language="javascript"> 
    <?php 
    $js_array = json_encode($data); 
     
    echo "var liste = ". $js_array . ";\n"; 
    ?> 
    $('#recherche').autocomplete({ 
    source : liste, 
    minLength : 1 
    }); 
    </script>

  2. #2
    Membre chevronné Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2012
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Maroc

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

    Informations forums :
    Inscription : janvier 2012
    Messages : 1 203
    Points : 2 001
    Points
    2 001
    Par défaut
    Salut,

    Ton code est fonctionnel, je viens de le tester tel qu'il l'est et ça m'affiche bien la liste des salariés.

    A moins que le nom ou prénom du salarié contient des caractères spéciaux comme les accents (é,à...), dans ce cas il faut ajouter <meta charset="utf-8" /> dans l'html ET charset=utf8 dans php.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <meta charset="utf-8" />
    <title>Test d'autocomplete</title>
    <!-- le reste du code ...-->
    et en php :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $bdd = new PDO('mysql:host=localhost;dbname=mobilite;charset=utf8', 'root', '');

Discussions similaires

  1. [VB.NET]afficher les tables d'une base de donnée
    Par amine_sh dans le forum Windows Forms
    Réponses: 6
    Dernier message: 06/11/2006, 12h00
  2. [MySQL] Afficher les tables d'une base de données ?
    Par jack_1981 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 31/08/2006, 22h25
  3. Tutoriel Afficher les infos d'une base de données
    Par dolf13 dans le forum Langage
    Réponses: 2
    Dernier message: 14/06/2006, 11h56
  4. Réponses: 4
    Dernier message: 29/11/2004, 17h51

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