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>