loicseg
Messages postés168Date d'inscriptiondimanche 26 février 2006StatutMembreDernière intervention30 septembre 2011
-
1 juil. 2010 à 13:32
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 2011
-
8 juil. 2010 à 19:29
[b]Bonjour,
j'ai récupéré le code source d'un moteur de recherche sur un site, que j'ai ensuite adapté pour qu'il soit plus beau, etc...
Cependant, je n'arrive pas à afficher le nombre de résultats trouvés lorsqu'une recherche est effectué. :s
Voici ma source (fichier "bdd.js") :/b
// appel de la fonction principal et formatage de l'apres reponse
function validate_form() {
text = document.form.search.value;
jsi = new makeLinks(linksize);
searchLinks(jsi, text);
document.write("<hr>");
document.write("[ + links[q].URL + " + links[q].Name + "]
");
document.write( links[q].Desc + "
");
document.write("
"+links[q].URL +"
loicseg
Messages postés168Date d'inscriptiondimanche 26 février 2006StatutMembreDernière intervention30 septembre 2011 4 juil. 2010 à 01:18
Autant j'ai compris pour la fonction validate form (en mm tps ce netait pas compliqué de configurer la variable finalement) autant là... je bloque completement
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 4 juil. 2010 à 01:26
si l'on reprend ton soucis
Cependant, je n'arrive pas à afficher le nombre de résultats trouvés lorsqu'une recherche est effectué. donc on peut en conclure que ton script, celui que tu as posté en premier, marche correctement.
Le soucis est donc de rajouter le fait de récupérer le nombre d'occurrences trouvées lors de ta recherche, c'est ce que nous avons appelé Total.
Ta fonction de recherche, donc searchLinks, doit pouvoir renvoyer le nombre trouvé, c'est donc dans celle ci qu'il faut que tu incrémente un compteur pour pouvoir le retourner à la fonction appelante, dans ton cas c'est la fonction validate_form.
La fonction appelante, donc validate_form, récupérera donc le fameux Total pour être affiché. Cette fonction est opérationnelle.
Voila...
;O)
Vous n’avez pas trouvé la réponse que vous recherchez ?
loicseg
Messages postés168Date d'inscriptiondimanche 26 février 2006StatutMembreDernière intervention30 septembre 2011 4 juil. 2010 à 01:41
je pense avoir compris une bonne partie mais maintenant j'ai une erreur alors qu'elle n'etait pas la avant :
function searchLinks(links, keyword){
//-- compteur a zero
var count = 0;
//-- Parcours du tableau
for( var i =0, Max = T_Nombre.length; i < Max; i++){
if( num_ == T_Nombre[i]) // occurrence trouve
count++; // Increment compteur
}
//-- return le compteur
return( count);
}
loicseg
Messages postés168Date d'inscriptiondimanche 26 février 2006StatutMembreDernière intervention30 septembre 2011 4 juil. 2010 à 01:43
Pardon j'ai copié le mauvais code :
function searchLinks(links, keyword){
//-- compteur a zero
var count = 0;
//-- Parcours du tableau
for( var i =0, Max = Total.length; i < Max; i++){
if( links == Total[i]) // occurrence trouve
count++; // Increment compteur
}
//-- return le compteur
return( count);
}
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 4 juil. 2010 à 01:54
je ne comprend pas ce qui ne va pas ce qui ne va pas c'est que tu persistes à utiliser une fonction qui ne correspond à rien, oubli la
...et reprends la fonction du DEBUT comme je te l'ai déjà indiqué.
Mets toi en tête que ce que tu cherches reviens à compter le nombre de lignes que tu écris sur ta page.
Je le répètes cela se passe dans ta fonction ORIGINALE
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 4 juil. 2010 à 02:09
à chaque fois qu'une condition IF est remplie, tu fais un document.write, ce qui veut dire que tu as trouvé une occurrence, donc ton compteur doit être incrémenté, c'était l'objet de l'exemple que je t'ai pour la prise en compte de l'incrémentation...
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 5 juil. 2010 à 07:48
Bonjour,
Décidément, tu te focalises sur la condition
if( links == Total[i])
qui plus est, ne veut rien dire dans ton contexte
REPRENDS les conditions initiales de ta fonction à savoir
if (links[q].Category.toLowerCase().indexOf(keyword) != -1) {
if (links[q].Desc.toLowerCase().indexOf(keyword) != -1) {
if (links[q].Name.toLowerCase().indexOf(keyword) != -1) {
et
if (links[q].URL.toLowerCase().indexOf(keyword) != -1) {