Salut !
Voici mon probleme :
Soit un formulaire de recherche comportant une zone de texte et 2 boutons radio dans la page recherche.php3
---------------------------------------------------------------------
<form action='recherches.php3' method='post'>
<input type='hidden' name='action' value='affiche'>
<input type='texte' name='mots' value=''>
<input type='radio' name='chx' value='et' checked>et
<input type='radio' name='chx' value='ou'>ou
</form>
---------------------------------------------------------------------
Soit un fichier texte (news.txt) comportant les données suivantes pour des news :
---------------------------------------------------------------------
Date|Titre|Resume|Auteur||
---------------------------------------------------------------------
Pour recuperer les titres des news dont le resumé comporte un des mots clés tapés, j'utilise le code suivant :
---------------------------------------------------------------------
if($action=="affiche")
{
//Choix de l'option et,ou
if($mots!="" && $chx=="ou")
{$mots=str_replace(" ","|",$mots);}
elseif($mots!="" && $chx=="et")
{$mots=str_replace(" ","&",$mots);}
$total = 0; //pour definir le nombre de resultats
$dossier = file("./articles/news.txt");
foreach($dossier as $ligne)
{
$infos = explode("|",$ligne);
if(eregi($mots,$infos[3]))
{
$result.="<li>$infos[0]-$infos[1]";
$total++;
}
}
}
echo $result;
--------------------------------------------------------------------
J'arrive à un resultat lorsque l'option cochée correspond à ou, mais je n'arrive à rien en ce qui concerne la recherche simultanee de plusieurs mots cles (ce qui correspond à l'option et). Quelqu'un saurait-il me venir en aide ?
Merci d'avance !
PS: je ne souhaite pas utiliser de base de données mais uniquement des fichiers textes |