Moteur de recherche sur des fichiers

airben Messages postés 11 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 6 août 2005 - 14 juil. 2005 à 02:10
airben Messages postés 11 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 6 août 2005 - 16 juil. 2005 à 16:59
Bonjour



Quelqu'un peut'il m'aider s'il vous plait .

Etant debutant , est il possible de crée un moteur de recherche sur des
fichiers avec comme langage de programmation le php?.existe t'il des
sripts deja fait.



Je m'explique , j'ai dans un repertoire un ensemble de fichier . est il
possible de faire une rechereche par mot-clé sur ces fichiers. et
d'afficher les fichiers correspondant à la recherche.



Merci bien pour votre aide.

2 réponses

cs_sjon Messages postés 861 Date d'inscription mardi 26 mars 2002 Statut Membre Dernière intervention 29 novembre 2006 1
14 juil. 2005 à 03:04
Sael og blesud



Vous pourriez chercher un petit peu ...



http://www.phpcs.com/recherche.aspx?r=Moteur+recherche&tr=source

Bon courage ...

NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...

Sigurjón Bírgir Sigurðssón aka Sjón
0
airben Messages postés 11 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 6 août 2005
16 juil. 2005 à 16:59
Merci , mais je n'est pas trouver exactement ce que je cherché.
Mais bon pour l'instant , j'ai donc decidé de faire un moteur de recherche moi meme.
La recherche ce fera pas non plus sur des fichiers , mais dans ma base de donnée .Pour cela j'ai donc fais ce code :

*********debut du code ******
<?
-----
----

$db_link = mysql_connect("$sql_serveur","$sql_user","$sql_passwd");
$fonction=$_GET['fonction']; // pri a partir d'un menu deroulant
$niveau=$_GET['niveau']; // pri a partir d'un menu deroulant

$mot=$_GET['mot']; // pri à partir champ de type text


$mot=strtolower($mot);
$mots=split(" ",$mot);
$nombre_mots=count($mots);

$z=1;
$texte="Pages contenant "$mots[0]" ";
$phrase ="'%$mots[0]%'";
while($z<$nombre_mots)
{
$phrase.= " ".$et_ou." mots like '%$mots[$z]%'";
$texte.=" ";
if($et_ou=="and"){$texte.="et";}else{$texte.="ou";}
$texte.=" "$mots[$z]" ";
$z++;
}

if($debut == ""){$debut=0;}
$debut=$page*$limit;

// NOMBRE TOTAL D'ENREGISTREMENTS REPONDANT A LA REQUETE
$requete=mysql_db_query("$sql_bdd","select count(*) from cv WHERE MATCH
( titre, ref, nom, ville, fonction, region1, nom_entr1, prec_ent, nom_entr2,
) AGAINST ('$phrase' IN BOOLEAN MODE) AND (fonction LIKE
'$fonction') AND (niveau LIKE '$niveau')",$db_link);
$nb_total=mysql_result($requete,0,"count(*)"); // ---- ICI LIGNE 132

$requete=mysql_db_query("$sql_bdd","select * from cv WHERE MATCH (titre
, ref, nom ,prenom, ville, fonction, region1, nom_entr1,prec_ent, nom_entr2
) AGAINST ('$phrase' IN BOOLEAN MODE) AND (fonction LIKE
'$fonction') AND (niveau LIKE '$niveau') limit $debut,$limit",$db_link);
$num=mysql_num_rows($requete); // ------- ICI LIGNE 135

// DEFINITION DU MESSAGE A AFFICHER
if ($num==0) {echo "Désolé, aucune page de ce site ne contient
$mot ...";}
else if ($mot == "") {echo "Veuillez saisir mot-clés avant de cliquer
sur 'lancer la recherche' !";}
else if (strlen($mot)<2) {echo "Veuillez saisir au moins 2
caractères.";}

// AFFICHAGE DES RESULTATS
else {

echo " $nb_total réponse";
if ($nb_total>1) {echo "s";}
//echo "
$texte";

//$i =0;
while ($tablo = mysql_fetch_object($requete)) {

print "<TR>";
print "<TD>
</TD>";

print "</TR>";
print "<TR bgcolor="#E0ECF8">";

print "<TD nowrap class="style2" bgcolor="#E0ECF8" >Candidature
à l'offre: $tablo->ref</TD>";
print "<TD>";
print "<TD nowrap class="style2" bgcolor="#E0ECF8">Region
souhaité</TD>";

*********************
****************
*****************
****************


}
?>

</table> </td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>

</html>

<?
print"<center>";
// AFFICHAGE DU LIEN PRECEDENT SI BESOIN EST
// (LA PREMIERE PAGES EST 0)
if ($page>0)
{
$precedent=$page-1;
print "PRECEDENT \n";
}


// AFFICHAGE DES NUMEROS DE PAGE
$i=0;$j=1;
if($nb_total>$limit)
{
while($i<($nb_total/$limit))
{
if($i!=$page){echo "($j) ";}
else {echo " ($j) ";}
$i++;$j++;
}
}


// AFFICHAGE DU LIEN SUIVANT SI BESOIN EST
if($debut+$limit<$nb_total)
{
$suivant =$page+1;
echo "SUIVANT";
}
}

print"</center>";
// DECONNEXION DE LA BASE DE DONNEE
mysql_close($db_link);
?>

************FIN DU CODE**********
- Il me gener ça comme erreur:
j'ai sa comme ereur;

Warning: mysql_result(): supplied argument is not a
valid MySQL result resource in
/web/testweb/recherche.php3 on line 132

Warning: mysql_num_rows(): supplied argument is not a
valid MySQL result resource in
/web/testweb/recherche.php3 on line 135



-Sachant que j'ai mes index en FULLTEXT dans ma table

*******
*****
`date_dispo` date NOT NULL default '0000-00-00',
PRIMARY KEY (`id`),
KEY `type_mobil` (`mobil_reg`),
FULLTEXT KEY `test` (`ref`,`titre`,`nom`,`code`,`ville`,`fonction`,`region1`,`nom_entr1`,`prec_ent`,`nom_entr2`)
) TYPE=MyISAM AUTO_INCREMENT=49

J'ai testé ma requéte et j'ai ça comme erreur dans phpadmin:
#1191 - Can't find FULLTEXT index matching the column
list

Je ne sais pas ou ça coinsse . merci pour l'aide
0