samclement
-
23 juin 2013 à 00:59
samclement
Messages postés1Date d'inscriptionmercredi 19 juin 2013StatutMembreDernière intervention28 juillet 2013
-
28 juil. 2013 à 00:44
Bonjour à tous.
J'ai copié la moteur de recherche de Bruno. Je le trouve très bien. Mais je cherche un moyen pour que le résultat de la recherche s'affiche sur plusieurs pages, car dans l'état si vous avez 100 résultats, tous s'afficheront sur la même page.
Je n'ai pas de connaissance en Javascript, j'ai fait plein de recherches sur Google mais sans succès.
Si quelqu'un pouvait m'aider merci par avance.
Voici le script:
var item = new Array();
// "La page","Son adresse","","Titre de la page","Mot clés","Description de la page"
c=0; item[c]=new Array("","index.html","Index EvasionTotale","index, evasion, totale, home, premiere, page, sommaire","Première page de ce site");
c++; item[c]=new Array("","musique.html","De la musique sur votre site !","musique, mp3","Voilà une belle page pour mettre de la musique sur votre site !");
c++; item[c]=new Array("","web.html","NEWS DU WEB ?","web, news","Ici vous trouverez toutes l'actualité sur le web .......");
page="<html><head><title>Résultats de la recherche</title></head><center>\";
function search(frm) {
win=window.open(\"\",\"\");
win.document.write(page);
txt = frm.srchval.value.split(\" \");
fnd = new Array(); total=0;
for (i = 0; i < item.length; i++) {
fnd[i] = 0; order = new Array(0, 4, 2, 3);
for (j = 0; j < order.length; j++)
for (k = 0; k < txt.length; k++)
if (item[i][order[j]].toLowerCase().indexOf(txt[k]) > -1 && txt[k] != \"\")
fnd[i] += (j+1);
}
for (i = 0; i < fnd.length; i++) {n 0; w -1;
for (j = 0;j < fnd.length; j++)
if (fnd[j] > n) { n = fnd[j]; w = j; };
if (w > -1) total += show(w, win, n);
fnd[w] = 0;
}
win.document.write("
Pages trouvé(s): "+total+"
</html>");
win.document.close();
}
function show(which,wind,num) {
link = item[which][1] + item[which][0];
line = "<tr><td>"+item[which][2]+" Item numéro "+num+"
";
line += item[which][4] + "
"+link+"</td></tr>";
wind.document.write(line);
return 1;
}