CREATION D'UN AUTOCOMPLETE JQUERY AVEC UN CODE SOURCE ASP ET AJAX

dedebis84 Messages postés 29 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 20 juin 2012 - 30 juil. 2008 à 11:44
dedebis84 Messages postés 29 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 20 juin 2012 - 20 juin 2012 à 21:06
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/47432-creation-d-un-autocomplete-jquery-avec-un-code-source-asp-et-ajax

dedebis84 Messages postés 29 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 20 juin 2012
20 juin 2012 à 21:06
En fait il faut que ton fichier rcp.php créer un fichier au json. Tu vas sur google et tu marques json tu vas trouver des aides.
En fait ce ficher va te fournit a liste autocomplete.
Il doit avoir des exemples de création en php.
djbenji666 Messages postés 3 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 20 juin 2012
20 juin 2012 à 18:27
... rien compris la mdr ^^
dedebis84 Messages postés 29 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 20 juin 2012
20 juin 2012 à 18:25
Tu peux utiliser firebug pour voir ou ca pete.Je connais assze mal le php.
Tu peux deja si rcp.php créer un fichier au format jason.
djbenji666 Messages postés 3 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 20 juin 2012
20 juin 2012 à 17:21
Bonjour en faite je ne développe pas vraiment je me serre de boue de code pour construire et aller au boue de ce que je veux ^^. j'ai le site www.telecharger-mp3-gratuit.com et je voudrai integré ceci dans mon moteur de recherche principale

code de ma page index.php

[<?= WEB_PATH?> images/logo_big.png" alt="Home"/>]</h1>

<!-- start for Search by Artist -->

[recherche-artiste.php Recherche un mp3 par artiste
]

<!-- End for Search by Artist -->

<center>

<? if(($type == "mp3")||($type=="")) { echo "<li> ".$lang['53']." </li> "; } else { echo "<li>[<? =WEB_PATH?>register.php
</map>

<? } ?>

<center>Bientot sur le groupe de site telecharger gratuit, l'arriver du telechargement de video youtube gratuit !
</center>

]&title=<?=$settings[site_title]?>">images/submit.jpg" alt="Submit" />
[http://digg.com/submit?phase=2&url=<?=WEB_PATH?>&title=<?=$settings[site_title]?> images/submit_02.jpg" alt="Submit" />]
[http://digg.com/submit?url=<?=WEB_PATH?>&title=<?=$settings[site_title]?> images/digg.jpg" alt="Digg" />]
[http://www.stumbleupon.com/submit?url=<?=WEB_PATH?>&title=<?=$settings[site_title]?> images/stumble.jpg" alt="Stumble" /> Stumble]
<?php if($settings['sharethis']) { ?>
<script type="text/javascript" src="http://w.sharethis.com/widget/?tabs=web%2Cpost%2Cemail&charset=utf-8&style=rotate&publisher=<?=$settings['sharethis'];?>"></script>
<? } ?>

<center>
https://www.facebook.com/pages/telecharger-mp3-gratuitcom/236195016454977 |
Tweeter |
[javascript:ajaxpage('popular-searches.php?type=<?=$type?>', 'boxes'); <?=$lang['66'];?>] |
[javascript:ajaxpage('top-users.php', 'boxes'); <?=$lang['67'];?>] |
[javascript:ajaxpage('embed-search.php', 'boxes'); <?=$lang['68'];?>][ [?]]

</center>


<?php
$result = mysql_query("SELECT tag AS tag, COUNT(*) AS quantity FROM tags GROUP BY tag ORDER BY rand() DESC LIMIT 15");
while ($row mysql_fetch_array($result)) { $tags[$row['tag']] $row['quantity']; }

$max_size = 30;
$min_size = 10;

$max_qty = max(array_values($tags));
$min_qty = min(array_values($tags));

$spread = $max_qty - $min_qty;
if (0 $spread) { $spread 1; }

$step = ($max_size - $min_size)/($spread);

echo "

".$lang['66']."
";

foreach ($tags as $key => $value)
{
$size = $min_size + (($value - $min_qty) * $step);
$key = urldecode($key);
$keyx = urldecode(str_replace(" ", "-", $key));

echo "".$key." ";
}

echo "

";
?>



<?=$ads['bottom'];?>

ce que je cherche a intégré c'est sa a l'adresse http://www.telecharger-mp3-gratuit.com/autoComplete/

Le code est:

<script type="text/javascript" src="jquery-1.2.1.pack.js"></script>
<script type="text/javascript">
function lookup(inputString) {
if(inputString.length == 0) {
// Hide the suggestion box.
$('#suggestions').hide();
} else {
$.post("rpc.php", {queryString: ""+inputString+""}, function(data){
if(data.length >0) {
$('#suggestions').show();
$('#autoSuggestionsList').html(data);
}
});
}
} // lookup

function fill(thisValue) {
$('#inputString').val(thisValue);
setTimeout("$('#suggestions').hide();", 200);
}
</script>

<style type="text/css">
body {
font-family: Helvetica;
font-size: 11px;
color: #000;
}

h3 {
margin: 0px;
padding: 0px;
}

.suggestionsBox {
position: relative;
left: 30px;
margin: 10px 0px 0px 0px;
width: 200px;
background-color: #212427;
-moz-border-radius: 7px;
-webkit-border-radius: 7px;
border: 2px solid #000;
color: #fff;
}

.suggestionList {
margin: 0px;
padding: 0px;
}

.suggestionList li {

margin: 0px 0px 3px 0px;
padding: 3px;
cursor: pointer;
}

.suggestionList li:hover {
background-color: #659CD8;
}
</style>

</head>

<form>



</form>

... que je n'arrive pas a intégré...
Merci pour votre réponse rapide !
dedebis84 Messages postés 29 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 20 juin 2012
20 juin 2012 à 09:12
Ce code est vieillissant. Tu développes en quel langage ?
djbenji666 Messages postés 3 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 20 juin 2012
20 juin 2012 à 08:47
Salut ! deja merci pour ce cde que j'ai adapter a mon site de recherche de mp3 !
je voulai savoir comment l'integré a un form deja existan ?

Merci encor et a plus tard !
lastday69 Messages postés 13 Date d'inscription mercredi 16 septembre 2009 Statut Membre Dernière intervention 11 février 2011
31 janv. 2011 à 15:44
Oui j'aimerai bien !
dedebis84 Messages postés 29 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 20 juin 2012
31 janv. 2011 à 14:14
si tu veux je peux t'envoyer directement les fichiers et tu pourras les modifier?
lastday69 Messages postés 13 Date d'inscription mercredi 16 septembre 2009 Statut Membre Dernière intervention 11 février 2011
31 janv. 2011 à 14:06
oui oui la bibliothèque y es !
<script type="text/javascript" src="jquery-1.2.6.pack.js"></script>
j'ai même essayer avec jquery-1.4.4.min.js et rien du tout... la liste en bas n'apparait même pas
j'ai essayer de coller au plus proche de votre bd et toujours rien...
dedebis84 Messages postés 29 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 20 juin 2012
31 janv. 2011 à 13:18
C'est fou !!!
Alors que ca fonctionne chez moi !!!
tu appelles bien le bibliothèque jquery dans test.asp ?
Car je ne la vois pas dans ton code
lastday69 Messages postés 13 Date d'inscription mercredi 16 septembre 2009 Statut Membre Dernière intervention 11 février 2011
31 janv. 2011 à 13:02
voici ma page test.asp

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>

<script language="javascript">
//Permet de faire l'autocompletion
function lookup(inputString) {
if(inputString.length == 0) {
// Hide the suggestion box.
$('#suggestions').hide();
} else {
$.post('autocomplete.asp', {queryString: ""+RechercheClient.NomPrenom.value+""}, function(data){
if(data.length >0) {
$('#suggestions').show();
$('#autoSuggestionsList').html(data);
}
});
}
} // lookup
function fill(thisValue) {
//Permet de remplacer les "_" par des " "
var a, tmp;
tmp = "";
a = thisValue;
for(var i = 0; i < a.length; i++)
{
tmp = tmp + a.charAt(i);
if (a.charAt(i) == "_")
{
tmp = tmp.replace("_"," ");
}
}
a = tmp;
$('#NomPrenom').val(a);
setTimeout("$('#suggestions').hide();", 200);
}

function RecupRef (thisValue) {
$('#NumClient').val(thisValue);
setTimeout("$('#suggestions').hide();", 200);
}
</script>
<form id="RechercheClient" action="" method="post" >


<label for="NomPrenom">Nom Prenom </label>

</form>

</html>

Voici ma page autocomplete.asp

<!-- #include file="connexion.asp"-->
<%
Dim rs
dim i
' On rcupre le prametre envoyer par le formulaire
Nom = " " &request.form("queryString")
' On fait le filtre en SQL
SQL="SELECT Id_Ad, Nom_Ad FROM Adherent where (((Nom_Ad) LIKE '%"&lettre&"%'))"
'Connection a la bd et recordset
Set rs = Server.CreateObject("ADODB.Recordset")
'Ouverture du premier recordset
rs.Open SQL, conn,3,3 %>

<%
i=0
Do While Not rs.EOF
'On liste le recordset dans une liste
i=i+1
Nom= replace (trim(rs("NomPrenom"))," " ,"_")%>
" value="<%=rs("NumAuto")%>">
<li onClick="javascript:fill('<%=Nom%>');RecupRef(document.getElementById('Ref<%=i%>').value)"> <%=trim(rs("Nom"))%> <%=trim(rs("Prenom")) %> </li>
<% rs.movenext
loop
rs.close
set rs = nothing
%>

<%conn.close
set conn = nothing

%>

Et rien ne fonctionne je pense que je vais pas tarder a abandonné !
dedebis84 Messages postés 29 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 20 juin 2012
31 janv. 2011 à 12:52
je ne vois pas car mon firefox me l'a pas indiqué.
En même temps je ne l'ai pas tester depuis sur les nouvelles versions.
Je pense que ca peut venir entre la version 1.2.6 de jquery et firefox.
essaie de mettre une version plus jeune de jquery, ca peut passer
lastday69 Messages postés 13 Date d'inscription mercredi 16 septembre 2009 Statut Membre Dernière intervention 11 février 2011
31 janv. 2011 à 10:22
Suite a un gros bidouillage j'ai tout mis en place cependant Firefox m'indique une faute dans le javascript a la ligne 11 une idée ?

$.post('autocomplete.asp', {queryString: ""+RechercheClient.NomPrenom.value+""}, function(data){
dedebis84 Messages postés 29 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 20 juin 2012
29 janv. 2011 à 09:14
Montre moi votre script et je regarderai
lastday69 Messages postés 13 Date d'inscription mercredi 16 septembre 2009 Statut Membre Dernière intervention 11 février 2011
28 janv. 2011 à 16:46
1.2.6 mais je n'arrive pas a mettre en place tout votre script j'ai du bidouiller avec les miens vous n'auriez pas les scripts et la façon de les mettre en place svp?
dedebis84 Messages postés 29 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 20 juin 2012
28 janv. 2011 à 16:42
et la test.asp

<script language="javascript">
//Permet de faire l'autocompletion
function lookup(inputString) {
if(inputString.length == 0) {
// Hide the suggestion box.
$('#suggestions').hide();
} else {
$.post('AJAX/AutocompleteNomPrenom.asp', {queryString: ""+RechercheClient.NomPrenom.value+""}, function(data){
if(data.length >0) {
$('#suggestions').show();
$('#autoSuggestionsList').html(data);
}
});
}
} // lookup
function fill(thisValue) {
//Permet de remplacer les "_" par des " "
var a, tmp;
tmp = "";
a = thisValue;
for(var i = 0; i < a.length; i++)
{
tmp = tmp + a.charAt(i);
if (a.charAt(i) == "_")
{
tmp = tmp.replace("_"," ");
}
}
a = tmp;
$('#NomPrenom').val(a);
setTimeout("$('#suggestions').hide();", 200);
}

function RecupRef (thisValue) {
$('#NumClient').val(thisValue);
setTimeout("$('#suggestions').hide();", 200);
}
</script>
<!--#include file="inc/header.asp"-->
<!--#include file="inc/topbody.asp"-->
<form id="RechercheClient" action="" method="post" >


<label for="NomPrenom">Nom Prenom </label>




</form>

Bon la j'essaie de récupéré le numéro client pour faire ma recherche derrière
Il affiche bien les nom prénom et il me renvoie le numéro client
dedebis84 Messages postés 29 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 20 juin 2012
28 janv. 2011 à 16:37
Connexion.asp permet de créer ta connexion à ta base de donnée ici "conn".
Test.asp : fichier où se trouver l'inoput de type text
autocomplete.asp : programme qui de crée ta liste et qui appelle ta base de donnée
voila un autre code pour autocomplete
<%
Dim rs
dim i
' On rcupre le prametre envoyer par le formulaire
Nom = " " &request.form("queryString")
' On fait le filtre en SQL
SQL = "Select * From Client WHERE NomPrenom Like '"&trim(padQuotes(request.form("queryString")))&"%' ORDER BY NomPrenom ASC"
'Connection a la bd et recordset
Set rs = Server.CreateObject("ADODB.Recordset")
'Ouverture du premier recordset
rs.Open SQL, conn,3,3 %>

<%
i=0
Do While Not rs.EOF
'On liste le recordset dans une liste
i=i+1
Nom= replace (trim(rs("NomPrenom"))," " ,"_")%>
" value="<%=rs("NumAuto")%>">
<li onClick="javascript:fill('<%=Nom%>');RecupRef(document.getElementById('Ref<%=i%>').value)"> <%=trim(rs("Nom"))%> <%=trim(rs("Prenom")) %> </li>
<% rs.movenext
loop
rs.close
set rs = nothing
%>

<%conn.close
set conn = nothing

%>

Comme tu le vois j'interroge bien un nom. Normalement ca devrait fonctionner.
lastday69 Messages postés 13 Date d'inscription mercredi 16 septembre 2009 Statut Membre Dernière intervention 11 février 2011
28 janv. 2011 à 16:18
j'utilise la 1.2.6 mais j'ai du mal a y mettre en place je dois crée cb de fichier exactement ??? (Test.asp, connexion.asp, autocomplete.asp et c'est tout????)
dedebis84 Messages postés 29 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 20 juin 2012
28 janv. 2011 à 15:55
J'oublie quel version de jquery utilises tu ?
dedebis84 Messages postés 29 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 20 juin 2012
28 janv. 2011 à 15:53
Dans mon exemple la requete je le fais avec des caractères.Je l'utilise pour le nom et prenom des personnes.
Tu utilises quel base de données?
lastday69 Messages postés 13 Date d'inscription mercredi 16 septembre 2009 Statut Membre Dernière intervention 11 février 2011
28 janv. 2011 à 15:35
Le souci c'est que je fait la requête sur des nom de famille donc sans aucun espace et j'ai fait des replace pour les caractères spéciaux mais rien a faire quand je fait sa il me sort soit la base et donc pas le résultat du like
dedebis84 Messages postés 29 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 20 juin 2012
28 janv. 2011 à 15:27
Je sais que j'ai eu le probleme qu'il ne comprends pas les espaces.
Donc j'avais magouiller en rajoutant "_" et leur de la requete je faisais un replace
lastday69 Messages postés 13 Date d'inscription mercredi 16 septembre 2009 Statut Membre Dernière intervention 11 février 2011
28 janv. 2011 à 14:51
genre comme su google avec votre code j'ai pu finaliser et ajuster ce pendant lorsque j'effectue un LIKE dans mon sql la condition (like) doit obligatoirement porter sur un champ numérique de ma base access si je met un champ TEXTE et bien tout plante

ex : SQL="SELECT * FROM Adherent where (((Test) LIKE '%"&lettre&"%'))"
lettre est une variable qui récupère les données d'un Form et TEST est un champ de type numérique dans ma base access
lastday69 Messages postés 13 Date d'inscription mercredi 16 septembre 2009 Statut Membre Dernière intervention 11 février 2011
28 janv. 2011 à 14:39
dsl pour le double post !

Et bien je voudrai faire une autocompletion dans une recherche par nom tout simplement et non pas avec des chiffres
lastday69 Messages postés 13 Date d'inscription mercredi 16 septembre 2009 Statut Membre Dernière intervention 11 février 2011
28 janv. 2011 à 14:38
Code très intéressant lais ne fonctionne qu'avec du numérique !
dedebis84 Messages postés 29 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 20 juin 2012
28 janv. 2011 à 14:28
Il marche avec du numérique que je travaille qu'avec ca, j'évite au maximun les caractères.
Expliques moi que veux tu faire?
lastday69 Messages postés 13 Date d'inscription mercredi 16 septembre 2009 Statut Membre Dernière intervention 11 février 2011
28 janv. 2011 à 14:18
Code très intéressant lais ne fonctionne qu'avec du numérique !
zbe Messages postés 18 Date d'inscription lundi 15 juillet 2002 Statut Membre Dernière intervention 16 mars 2010
16 mars 2010 à 11:20
bonjour, super script, mais quand c'est du numeric il fonctionne bien, mais quand c'est du texte il plante !!! HELP.
Allix
hazrael Messages postés 2 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 8 janvier 2010
8 janv. 2010 à 16:09
Super ton script fonctionne à merveille. Chapeau ! Merci à toi pour ta contribution
hafsamir32 Messages postés 5 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 8 mars 2010
27 nov. 2009 à 17:05
Youpi, ca marche,je l'ai trouvé :)
hafsamir32 Messages postés 5 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 8 mars 2010
27 nov. 2009 à 15:39
J'arrive pas à faire fonctionner ce code en utilisant une base de donnée access et non pas sql server.

Quelqu'un pourra m'aider ?

Merci
cs_salahdanaoui Messages postés 1 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 19 octobre 2008
19 oct. 2008 à 02:44
slt ca va,svp j'ai besoin d'un cod en asp oubien php pour faire une base de donner pour un site qui de gestion de stok,svp aide moi,
merci d'anvace.
dedebis84 Messages postés 29 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 20 juin 2012
14 août 2008 à 09:42
merci, c'est gentil. Mais tu sais bien qu'en informatique rien n'est parfait, il y a toujours des corrections à effectuer, et pus dans quelques mois il sera obsolete, car il aura une nouvelle version autocomplete.
Dur, dur le métier de l'informatique;) lol
alte94 Messages postés 3 Date d'inscription jeudi 7 août 2008 Statut Membre Dernière intervention 13 août 2008
13 août 2008 à 16:08
Merci Dedebis84.

C'est étonnant que ton script ne suscite pas davantage de retours parce qu'il m'a l'air (je ne connais pas l'ASP) bien foutu.
dedebis84 Messages postés 29 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 20 juin 2012
12 août 2008 à 20:25
vas sur ce site, il explique comment faire :
http://nodstrum.com/2007/09/19/autocompleter/

++
alte94 Messages postés 3 Date d'inscription jeudi 7 août 2008 Statut Membre Dernière intervention 13 août 2008
12 août 2008 à 17:48
Ca a l'air bien intéressant et bien pratique mais je cherche l'équivalent en php. Tu dis qu'il existe mais le seul que j'ai trouvé qui se rapproche de ce que tu as fait est là :
http://www.javascriptfr.com/code.aspx?ID=41154

L'ennui est qu'il ne fonctionne pas avec des requetes mais seulement avec des tableaux statiques. D'où tout l'intérêt de ton script, alors si tu peux me dire où trouver la version php, ça m'éviterait de galérer autant que toi pour l'adapter.

Merci
dedebis84 Messages postés 29 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 20 juin 2012
30 juil. 2008 à 11:44
Personne ne me dis si ce code est intéréssant???
Rejoignez-nous