Plusieurs pages de résultats

----- Original Message -----
From: "Oo-- DoriaN --oO" <dorian@3studio.org>
To: "zerrel" <zerrel@univ-lyon2.fr>; <spip@rezo.net>
Sent: Wednesday, July 24, 2002 12:24 PM
Subject: Re: [Spip] Plusieurs pages de résultats

salut, ta page recherche m'intéresse aussi, je la veux bien en copie, ou
alors postes la directement sur la liste que tout le monde en profite :slight_smile:

Voici le code à inserer dans le fichier recherche.html :

<?

$NbResults = 0; $MaxPts = 0;?>
<BOUCLE_CountArticles(ARTICLES){recherche}{par points}{inverse}>
<?
$NbResults++;
if ($MaxPts==0) $MaxPts = #POINTS; // ?>
</BOUCLE_CountArticles>

<?
if (!isset($HTTP_GET_VARS["debut_lb"])) $debut_lb = 0;

$Page = floor($debut_lb/10) + 1;
$MaxPage = floor($NbResults/10) + 1;
$Last = ($debut_lb+11<$NbResults) ? $debut_lb+10 : $NbResults;
?>

  <form action='recherche.php3' method='get'>

  <input type="text" name="recherche" size="24" value="<? echo $recherche;
?>">
  <input type='submit' name='SubmitButton' value='Go'>
  </form>
<?
if ($NbResults > 0) {
// ?>
                 Le moteur a recherché le(s) mot(s) <b>"<? echo $recherche;
?>"</b><br>
                 <b><? echo $debut_lb+1 ."-" .$Last; ?></b>
r&eacute;sultats, sur un total de <b><?
echo $NbResults; ?></b><hr>
<?
}
else { ?>
   Aucun r&eacute;sultat pour "<? echo $recherche; ?>".
<?
} ?>
<br>

<BOUCLE_articles(ARTICLES){recherche}{par points}{inverse}{debut_lb,10}>
<?
$PerCent = 100 * #POINTS / $MaxPts; ?>
<p><font color=#666600>[<? echo number_format($PerCent, 0); ?> %] </font><A
HREF="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</A><BR><FONT
color=gray>L'article
            se trouve dans la rubrique :&nbsp;</FONT>
            <BOUCLE_CHEMIN(HIERARCHIE){ID_ARTICLE}><A
href="#URL_RUBRIQUE"><font
color=#666600>[(#TITRE|supprimer_numero)]</font></A></BOUCLE_CHEMIN><br>#DES
CRIPTIF</p>

</BOUCLE_articles>
</BOUCLE_articles>

<p align="center">
<?

if ($MaxPage>1) {
for ($i=0;$i<$MaxPage;$i++) {
  if ($i+1==$Page) { ?>
<b><font color='#999933'><? echo $i+1; ?></font></b>
<?
                }
                else {
       if ($i+1<$Page) { ?>
    <a href='recherche.php3?recherche=<? echo urlencode($recherche); ?><? if
($i) {echo "&debut_lb="; echo 10*$i;} ?>'><? echo $i+1; ?></a>
<?
   }
   else { ?>
    <a href='recherche.php3?recherche=<? echo urlencode($recherche);
?>&debut_lb=<? echo 10*$i; ?>'><? echo $i+1; ?></a>
<?
   }
  }
}
} ?>

Hello,

$NbResults = 0; $MaxPts = 0;?>
<BOUCLE_CountArticles(ARTICLES){recherche}{par points}{inverse}>
<?
$NbResults++;
if ($MaxPts==0) $MaxPts = #POINTS; // ?>
</BOUCLE_CountArticles>

[...]

$PerCent = 100 * #POINTS / $MaxPts; ?>

Avec ce système, on a un taux de pertinence affiché de 100% à chaque
fois pour le premier résultat, ce qui me semble souvent abusif.

Par exemple, si le terme cherché n'apparaît qu'une fois dans le texte,
sa "valeur" est 1, et on est loin d'une vraie pertinence.

Je ferais donc bien l'adaptation suivante :

<?php
$NbResults = 0; $MaxPts = 0;
?>
<BOUCLE_CountArticles(ARTICLES){recherche}{par points}{inverse}>
<?php
$NbResults++;
if ($MaxPts==0) $MaxPts = #POINTS;
?>
</BOUCLE_CountArticles>
<?php
$MaxPts = max(8, $MaxPts);
?>

8 parce que c'est le score si le terme est dans le titre, mais ce
pourrait être plus, à discuter ...

-Nicolas

--
Nicolas "Brush" HOIZEY
  Free PHP projects http://www.phpheaven.net
Veille tous azimuts http://www.gasteroprod.com
         Clever Age http://www.clever-age.com

----- Original Message -----
From: "Nicolas Hoizey" <nhoizey@phpheaven.net>

Je ferais donc bien l'adaptation suivante :

[snip]code php[snip]

8 parce que c'est le score si le terme est dans le titre, mais ce
pourrait être plus, à discuter ...

Impeccable !!! et tellement plus pertinent.

bonjour
est ce que quelqun a deja fait fonctionné des squelttes dans un sous
repertoire

les includes c est un peu lourd en prod

merci
Xavier

belle journée pour s'exprimer, mailnantesweb disait justement :

bonjour
est ce que quelqun a deja fait fonctionné des squelttes dans un sous
repertoire

on en parlé récemment, et le lien de zerrel était justement dans un sous-rep
donc c'est faisable et pas compliqué :

tu modifies tes fichiers .php3 en mettant le bon chemin
genre pour article.php3 ça donnerait :
<?php
$fond = "monrep/article";
$delais = 3600 * 24 ;

include ("inc-public.php3");

?>

attention, comme c'est le fichier .php3 qui est traduit par le navigateur et
qu'il se trouve à la racine il faut passer, dans le fichier html, les liens
et les images directement (ie en se référant à la racine du répertoire
spip).

Du coup si tu prends tous tes squelettes, que tu les mets dans un sous-rep
et que tu modifie tous les .php3 à la racine c'est bon :slight_smile:

Dorian
---------oO0o0Oo----------
::: Association 3e StudiO :::
:: http://www.3studio.org ::