je suis en train de modifier mon code 'recherche et list afin de limiter le nombre de ligne affichée lors d'une recherche, pouvez-vous m'aider, voici le code:
<code>
<?php
// initialisation
// extensions des fichiers dans lesquels la recherche s'effectura
$Extens= array('html');
// interdictions de chercher dans certains répertoires, définis par leur nom
// (valable pour tout leur contenu, fichiers + sous-répertoires)
$MasqDo= array('secret');
$luimeme= basename($_SERVER['PHP_SELF']);
// traitement des variables passées en POST
$rechlancee='non'; $requete='';
if (isset($_POST['cherche'])){
$rechlancee='oui';
if (isset($_POST['requete'])) $requete=$_POST['requete'];
}
// paramétrage de magic_quotes_gpc
( get_magic_quotes_gpc())? $magquote= 'on': $magquote= 'off';
if($magquote=='on') $requete=stripslashes($requete);
?>
<!-- Entete HTML -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Moteur de recherche</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<META NAME="description" CONTENT="page PHP pour petit moteur de recherche">
<META NAME="copyright" CONTENT="TTU">
<META NAME="author" CONTENT="tedheu">
<META NAME="robots" CONTENT="all">
<!-- Style -->
<STYLE type=text/css>
BODY,TD,A,P,.h {font-family: arial,sans-serif}
.h {font-size: 20px}
.q {color: #0000cc}
</STYLE>
<BODY text=#000000 vLink=#551a8b aLink=#ff0000 link=#0000cc bgColor=#ffffff topMargin=3 marginheight="3">
<!-- formulaire de saisie -->
<FORM method="post">
<H1 style="color: blue; font: bold italic 26px verdana">Recherche d'un enregistrement</H1>
<CENTER>
<TABLE cellSpacing="0" cellPadding="0" border="0">
<TR>
<TD align="middle">
<INPUT name="requete" maxLength="2048" size="55" value="<? echo htmlspecialchars($requete,ENT_QUOTES) ?>"></TD>
<TD width="25%">
<INPUT type="submit" name="cherche" value="Recherche"></TD>
</TR>
</TABLE>
</CENTER>
</FORM>
<SPAN style="color: #88f; font: normal 10px arial">moteur de recherche de liptibilly <I>(version 2.1)</I></SPAN><BR>
<?
// Ouverture de la boucle de traitement, si recherche lancée et requete non vide
if (($rechlancee=='oui') and (!$requete=='')){ // boucle principale de traitement
// traitement de la requête
$req_lower= strtolower($requete);
$occurrence=0;
?>
<!-- affichage HTML "bandeau" -->
<TABLE border="0" cellSpacing="0" cellPadding="0" width="100%" bgColor="e5ecf9">
<TR><TD width="100%" colspan="2" bgcolor="#3366cc"><IMG height="1" width="1"></TD></TR>
<TR>
<TD width="40%" bgColor="#e5ecf9">recherche <B style="color:navy"><? echo htmlspecialchars($requete,ENT_QUOTES) ?></B> </TD>
<TD Id="Icomm" align="right" bgColor="#e5ecf9"> </TD>
</TR>
</TABLE>
#
<?
// initialisation du parcours des fichiers
$niveau=0;
$Noeud[0]='.';
$Liste[0]='*';
do {
// lecture du contenu du dossier courant, niveau= $niveau
// correspondant au noeud de nom $Noeud[$niveau]
// résultat > dossiers dans $Doss (de 0 à $ndoss) et fichiers dans $Fich (de 0 à $nfich)
$chemin='';
for ($i=0;$i<=$niveau;$i++){
$chemin=$chemin.$Noeud[$i].'/';
}
$dp=opendir($chemin); $ndoss=-1; $nfich=-1;
while (gettype($file=readdir($dp))!= @boolean){
// pas le fichier php lui même
if ($chemin=='./' and $file==$luimeme) $file='?';
// masquage des répertoires interdits (et leurs sous-répertoires)
if (in_array($file,$MasqDo))$file='?';
if ($file!='.' and $file!='..' and $file!='?'){
if (is_dir($chemin.'/'.$file))$Doss[++$ndoss]=$file;
if (is_file($chemin.'/'.$file))$Fich[++$nfich]=$file;
}
}
closedir($dp);
// y a t-il un dossier qui n'a pas été exploré ?
$new='';
for ($i=0;$i<=$ndoss;$i++){
if (!strstr($Liste[$niveau],'*'.$Doss[$i].'*')){
$new=$Doss[$i];
break;
}
}
if ($new!=''){
// si oui on descend dans ce dossier $new
$Liste[$niveau]=$Liste[$niveau].$new.'*';
$niveau++;
$Noeud[$niveau]=$new;
$Liste[$niveau]='*';
}
else {
// si non, on traite les fichiers puis on remonte
// chemin du répertoire= $chemin, liste des fichiers= tableau $Fich[]
if (!($nfich<0)){
for ($i=0;$i<=$nfich;$i++){
$nomfch=$Fich[$i];
// gestion des extensions
$ext='';
$ok= strrpos($nomfch, '.');
// pas d'extension $ok = false
// pas de nom comme .htaccess, $ok = 0
// attention si ok=0 même chose que ok=false pour un test if (!$ok)
if ($ok>=0) $ext = strtolower(substr($nomfch, strrpos($nomfch, '.')+1));
(in_array($ext,$Extens))? $ook=1: $ook=0;
$note='';
if (!is_readable($chemin.'/'.$nomfch)){
$ook=0;
$note= $note.'un ou des fichiers n\'ont pu être lus';
}
// le fichier a une extension permise
if ($ook==1){
// lecture du fichier
$Lignefch=file($chemin.'/'.$nomfch);
$debut=true;
// recherche d'une occurence de la requête, quelquesoit la casse, ligne par ligne
for ($ilgn=0;$ilgn<count($Lignefch);$ilgn++){
$presence=0;
$req0=$req_lower;
// pour gérer les caract�res accentués "html"
$reqh=htmlentities($req_lower);
if ($req0txt=substr(stristr($Lignefch[$ilgn],$req0),0,strlen($req0))) $presence=1;
if ($reqh!=$req0){
if ($reqhtxt=substr(stristr($Lignefch[$ilgn],$reqh),0,strlen($reqh))) $presence=2;
}
if ($presence>0){
print "<DIV style=font-size:12px>\n";
if ($debut){
$debut=false;
$chemaff=substr($chemin,2);
print "<SPAN style=\"color:purple\">-------------</SPAN><BR>\n";
print "<A href=\"$chemin$nomfch\" target=\"_blank\">$chemaff$nomfch</A> \n";
print "(<I style=\"color:purple\">dossier:</I> $chemin \n";
print "<I style=\"color:purple\">fichiers:</I> $nomfch )<BR>\n";
}
$texte=StripSlashes(htmlspecialchars($Lignefch[$ilgn]));
if ($presence==1){
$req=StripSlashes(htmlspecialchars($req0txt));
$texte=str_replace($req,'<B style="color: navy; background-color: ff8">'.$req.'</B>',$texte);
}
if ($presence==2){
$req=StripSlashes(htmlspecialchars($reqhtxt));
$texte=str_replace($req,'<B style="color: navy; background-color: fef">'.$req.'</B>',$texte);
}
print "<SPAN style=\"color:green\">ligne $ilgn :</SPAN> $texte\n";
print "</DIV>\n";
$occurrence++;
}
}
}
}
}
// apr�s traitement, on remonte au niveau supérieur
$niveau--;
}
}
while ($niveau>=0);
?>
#
<SCRIPT language="JavaScript">
Objs=document.getElementById('Icomm');
commentaire= '<small>occurrence de la chaine <span style=color:blue>" <? echo htmlspecialchars($requete,ENT_QUOTES) ?> "</span> = <? echo $occurrence ?></small>'
Objs.innerHTML= commentaire;
</SCRIPT>
#
<?
if ($occurrence==0){
print "<BR><BR>\n";
print "<SPAN style=\"color:navy\"><I>Recherche infructueuse ... pas de résultat</I></SPAN><BR>\n";
}
if ($note!=''){
print "<small><I>(Attention: $note )</I></small>";
}
//
} // fin de la boucle principale de traitement
?>
</code>
merci