[AJAX] Autocomplétion ajax
bonjour a tous
je me prends la tete depuis des heures sur la récupération de données depuis ma base de donnée pour afficher les suggestions ...
Si j'initialise mon tableau en local, avec des valeurs, cela fonctionne... MAis quand je fais une requete, pouf, plus rien !
J'ai besoin d'aide...
Voici le code de ma page AJAX :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <form action="index.php?page=res" method="post"><span class="intitule_formulaire">Recherche:
<input type="text" size="20" maxlength="20" name="site" id="site" class="saisietexte"/>
<A HREF="javascript:document.validerpanier.submit()"><img src="images/elements/loupe.png" border="0" align="absbottom"></A>
<div id="site_update"></div>
</form>
<script type="text/javascript">
new Ajax.Autocompleter (
'site', // ID of the source field
'site_update', // ID of the DOM element to update
'site_recherche_ajax.php', // Remote script URI
{method: 'post', paramName: 'site'}
);
</script> |
Voila le coté traitement de la page PHP:
Code:
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
| <?php
//récupération parametre passé via requete ajax
$q = $_POST['site'];
//mise en place requete pour trouver les sites
$requete = mysql_query("SELECT `nom_site` FROM `sites` WHERE `nom_site` LIKE '%'".$q."'%'");
//$p = array("Top Achat", "Trafic Manager", "Dead Earth", "Le Monde", "01 Net", "Télécharger.com", "Jeux Vidéos.com", "");
//$q = $_POST['site']; $i = 0;
$p = array();
while($reponse=mysql_fetch_array($requete))
{
$p[] = $reponse['nom_site'];
}
$i = 0;
if ($q != "") {
echo '<ul>';
foreach($p as $prn) {
if (substr(strtolower($prn),0,strlen($q)) == strtolower(stripslashes($q))) {
echo '<li><a href="#" onclick="return false">'.htmlentities($prn).'</a></li>';
if (++$i >= 10) die('<li>...</li></ul>');
}
}
echo '</ul>';
}
?> |
j'utilise le framework ajax scriptaculous et prototype
Si vous arrivez a trouver pourquoi...je suis preneur de solutions :cry:
merci