Le script est php et javascript, il permet d'autocomplèter un champ selon les valeurs que l'on pioche dans une DB.
Je l'utilise dans une boucle for car c'est pour créer des playlists d'émission et qu'au fur et à mesure de la saisie, il suggère ce qui a déjà été joué dans une émission précédent (afin que l'on puisse éviter de remettre un même titre).
C'est le seul script que j’ai trouvé qui fonctionne dans une boucle (toutes les autres jquery autocomplete etc etc , seul le premier champs marchaient).
Seulement voilà, je l'ai testé et mis en place cette nuit sur un serveur linux mais pas sur wamp2.2 que j'utilise sur un windows pour developper habituellement.
Infos sur la version windows :
PHP Version 5.3.13
Apache 2.2.22 (Win32)
Version du serveur MySQL : 5.5.24-log
Infos sur la version linux :
PHP Version 5.3.10-1ubuntu3
Apache 2.2.22 (Ubuntu)
Version du serveur : 5.5.22-0ubuntu1
Les versions sont assez proches (certes anciennes mais si je mets plus récent je vais avoir plusieurs scripts HS, ce n'est aps envisageable de changer pour le moment).
Voici le script en question, que j'ai adapté à mon besoin ; je l'ai simplifié pour ici (donc plus de boucle ni autre, juste le champ) sur une page index.php :
Code : Tout sélectionner
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
<link rel="stylesheet" href="./js/jquery-ui.min.css" type="text/css" />
</head>
<body>
<input type="text" size="80" name="titre" value="" class='auto'>
<script type="text/javascript" src="./js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="./js/jquery-ui.min.js"></script>
<script type="text/javascript">
$(function() {
//autocomplete
$(".auto").autocomplete({
source: "search.php",
minLength: 1
});
});
</script>
</body>
</html>
Code : Tout sélectionner
<?php
define('DB_SERVER', 'localhost');
define('DB_USER', 'playlist');
define('DB_PASSWORD', 'playlist');
define('DB_NAME', 'playlist');
if (isset($_GET['term'])){
$return_arr = array();
try {
$conn = new PDO("mysql:host=".DB_SERVER.";port=8889;dbname=".DB_NAME, DB_USER, DB_PASSWORD);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare('SELECT titre,datepl FROM playlist WHERE titre LIKE :term GROUP BY titre ORDER BY titre ASC, datepl DESC');
$stmt->execute(array('term' => '%'.$_GET['term'].'%'));
while($row = $stmt->fetch()) {
// $return_arr[] = $row['datepl'];
$return_arr[] = $row['titre'] . " (" . $row['datepl'] . ")" ;
}
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
/* Toss back results as json encoded array. */
echo json_encode($return_arr);
}
?>Si quelqu'un à une idée je suis preneur
Merci
Couin