Bonjour,

J'utilise l'Ajax.autocompleter de la librairie Scriptaculous.

Je vais chercher dans une BDD MySQL les données que je souhaite, en l'occurrence des fiches de livres.

Le problème est : comment éviter les doublons dans la liste d'autocomplétion qu'il me propose ? Car plusieurs fiches peuvent par exemple avoir le même nom d'auteur.

Voilà le script que j'utilise :


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
<?php
 
$connexion = mysql_connect("localhost","root","");
mysql_select_db('ma_table',$connexion);
 
$table = $_POST['table'];
$champ = $_POST['champ'];
$content = $_POST[$champ];
 
$query = mysql_query("SELECT $champ FROM $table") or die(mysql_error());
$p=array();
 
while ($result = mysql_fetch_assoc($query)) $p[] = $result[$champ];
 
$i=0;
if ($content != "") {
  echo '<ul>';
  foreach($p as $item) {
    if (substr(strtolower($item),0,strlen($content)) == strtolower(stripslashes($content))) {
 
	echo '<li><a href="#" onclick="return false">'.htmlentities($item).'</a></li>';
 
      if (++$i >= 10) die('<li>...</li></ul>');
    }
  }
  echo '</ul>';
}
?>