Moteur de recherche avec base de donee texte.

Fermé
tiralia Messages postés 1575 Date d'inscription samedi 14 juin 2008 Statut Membre Dernière intervention 9 mars 2016 - 21 nov. 2009 à 14:15
soufianecreator Messages postés 60 Date d'inscription jeudi 12 novembre 2009 Statut Membre Dernière intervention 13 février 2010 - 29 nov. 2009 à 20:10
Bonjour,

Je vais essayer d'être le plus clair possible.

Je veux faire un moteur de recherche pour mon site web, mais je ne veux pas du tout passer par mysql.
Je vois déjà les réponses d'ici: je ne comprends pas pourquoi? c tellement mieux! etc... évitons de perdre du temps avec ce genre de réponse inutiles svp. j'ai mes raisons qui ne sont pas le sujet du problème.

Concrètement:

J'ai des adresses : genre 30 bvd de la truche 35000 rennes etc...
a ces adresses j'ai une description qui sont aussi les mot clef pour mes recherches: médecin généraliste, cabinet neuf, sale de radiologie...
et j'ai des données que je pourrai utiliser pourquoi pas par la suite: rue, numéro, nom, prénom, etc...

je souhaite créer ma base de registre a la main dans un fichier txt:

numéro de rue <> rue <> Code postal <> Villes <> description <> nom <> prénom <>

ce qui pourrai donner (sans accents ni caractère spéciaux)

30 <> bvd de la truche <> 35000 <> rennes <> medecin generaliste cabinet neuf sale de radiologie <> truc <> much <>

dans une page php, le moteur de recherche:

une fois la recherche faite, avec un ou plusieurs mots clef (se passe rien si pas de mot de rentré, message si pas de correspondance, possibilité de dire pour chaque adresse trouvé combien de mot cle correspondent? )
les résultats s'affichent (juste l'adresse)

quand le visiteur clic sur le résultat (l'adresse) qui l'intéresse. chaque choses entre <> <> serai stockée dans une variable et il serai regirigé vers une page de cadre.
( <a target="le cadre" href="http://www.trucmuch.com">exemple</a>)



le reste est déjà fait:

j'utilise ces variables entre mes pages pour faire correspondre des plans et des descriptions plus détaillées.


Voila. je recherche quelqu'un qui s'y connais assez pour ne pas trop galérer et me faire ce script de moteur de recherche ( et aussi m'expliquer son script, que je puisse modifier facilement en cas de changement d'idée)

Ce script servira pour mon site web perso et pour l'associassions que je met en place.

Merci beaucoup de votre aide.
A voir également:

4 réponses

soufianecreator Messages postés 60 Date d'inscription jeudi 12 novembre 2009 Statut Membre Dernière intervention 13 février 2010
21 nov. 2009 à 14:41
voila un pti moteur de recherche il cherche dans dans le repertoire ou se trouve ta page .
i cherche les extensions HTM HTML TXT et sans bdd (base de donne mysql )
<html><head>
<? if (isset($search)) {$titre = "Recherche de $search";} else {$titre = "Moteur de recherche du site";} ?>
<TITLE>moteur de recherche :: <? echo("$titre"); ?> ::</TITLE>
</head><body>

<table border="0" width="53%" cellspacing="0" cellpadding="2" bgcolor="#E1E1E1">
<tr>
<td width="100%" bgcolor="#EFDFFF">
<form method="POST" name="form"action="moteur-recherche.php">
Rechercher : <input type="text" name="search" value="<? if(isset($search)) {echo("$search");} else {echo("Mots clés");} ?>" onFocus="if (this.value=='Mots clés') {this.value=''}">
<input type="submit" value="Valider" name="submit" onClick="this.value='Patientez...';">
</td>
</tr></table><br>

<?

if (isset($search)) {

$getpages = 0;
if ($search == "") { $search = "........"; }

echo("Résultats pour la requête <b>$search</b> :<br><br>");

# TRAITEMENT DE LA REQUÊTE ::::::

// Efface tout ce qui se trouve derrière un espace pour la requête


// Remplacement des caractères spéciaux

$search = str_replace("<", "", $search);
$search = str_replace(">", "", $search);
$search = str_replace("\'", "'", $search);
$search = str_replace("_", " ", $search);
$search = str_replace("&", "et", $search);

// Suppression des accents etc...

$search = str_replace("é", "e", $search);
$search = str_replace("è", "e", $search);
$search = str_replace("ë", "e", $search);
$search = str_replace("ê", "e", $search);
$search = str_replace("à", "a", $search);
$search = str_replace("ä", "a", $search);
$search = str_replace("â", "a", $search);
$search = str_replace("ü", "u", $search);
$search = str_replace("ù", "u", $search);
$search = str_replace("û", "u", $search);
$search = str_replace("ô", "o", $search);
$search = str_replace("ö", "o", $search);
$search = str_replace("î", "i", $search);
$search = str_replace("ï", "i", $search);
$search = strtolower($search);

# RECHERCHE DANS LES FICHIERS ::::::

// Ouverture des pages du site et recherche des fichiers html et php

$rep = opendir(".");

while ($file = readdir($rep))
{
if ($file != '..' && $file !='.' && $file !='' && $file !='moteur-recherche.php' && (substr_count($file, ".htm") || substr_count($file, ".html") || substr_count($file, ".txt")))
{

// Recherche des infos dans les pages

$lecture = fopen("$file", "r");
$fichier_a_lire = fread($lecture, filesize("$file"));
$tagged = $fichier_a_lire;
fclose($lecture);

// Traitement du texte des pages

$fichier_a_lire = strip_tags($fichier_a_lire);
$fichier_a_lire = str_replace("é", "e", $fichier_a_lire);
$fichier_a_lire = str_replace("è", "e", $fichier_a_lire);
$fichier_a_lire = str_replace("ë", "e", $fichier_a_lire);
$fichier_a_lire = str_replace("ê", "e", $fichier_a_lire);
$fichier_a_lire = str_replace("à", "a", $fichier_a_lire);
$fichier_a_lire = str_replace("ä", "a", $fichier_a_lire);
$fichier_a_lire = str_replace("â", "a", $fichier_a_lire);
$fichier_a_lire = str_replace("ü", "u", $fichier_a_lire);
$fichier_a_lire = str_replace("ù", "u", $fichier_a_lire);
$fichier_a_lire = str_replace("û", "u", $fichier_a_lire);
$fichier_a_lire = str_replace("ô", "o", $fichier_a_lire);
$fichier_a_lire = str_replace("ö", "o", $fichier_a_lire);
$fichier_a_lire = str_replace("î", "i", $fichier_a_lire);
$fichier_a_lire = str_replace("ï", "i", $fichier_a_lire);
$fichier_a_lire = strtolower($fichier_a_lire);

# AFFICHAGE DES RESULTATS ::::::

if (eregi($search,$fichier_a_lire)) {
$getpages++;

// Titre de la page

$titre_page = str_replace(".htm", "", $file);
$titre_page = str_replace(".html", "", $titre_page);
$titre_page = str_replace(".php", "", $titre_page);
$titre_page = strtolower($titre_page);
$titre_page = ucwords($titre_page);

// Zone de texte concernée

$lataille = strlen($search);
$passage = strpos($fichier_a_lire, $search);
$nb_affich = substr_count($fichier_a_lire, $search);
$passage = substr($fichier_a_lire, $passage, 150);
$passage = wordwrap($passage, 80, "<br>");
$passage = str_replace($search, "<b>$search</b>", $passage);

// Affichage des données trouvées

echo("<img border=\"0\" src=\"puce.gif\"> <a href=\"$file\">$titre_page</a></b> - [$nb_affich fois]</a><br><font color=\"#666666\"><i>$passage</i></font><br><a href=\"$file\">$file</a> - <a class=\"menu\" href=\"moteur-recherche.php?search=$titre_page\"><font size=\"1\">Pages similaires</font></a><br><br>");

}

// Fin

}

}
closedir($rep);
clearstatcache();
}

// Si aucun résultat

if (($getpages == 0) && isset($search)) {
echo("Nous n'avons pas de resultas pour cet recherche !!!");
}
?>

</body></html>
0
tiralia Messages postés 1575 Date d'inscription samedi 14 juin 2008 Statut Membre Dernière intervention 9 mars 2016 255
21 nov. 2009 à 16:49
hum, ce n'est pas exactement ce que je cherche, mais je peux prendre les idées. par contre ca ne fonctionne pas^^ ya beaucoup a retoucher pour corriger le tout...

Merci quand même, c'est une bonne piste (lecture des info text, récupération des données... je vais plancher) mais si quelqu'un a autre chose, n'hésitez pas. je cherche toujours.
0
soufianecreator Messages postés 60 Date d'inscription jeudi 12 novembre 2009 Statut Membre Dernière intervention 13 février 2010
21 nov. 2009 à 18:00
oui je voulais juste te donner la pister de lecture des fichier et a toi de contunier :d
0
tiralia Messages postés 1575 Date d'inscription samedi 14 juin 2008 Statut Membre Dernière intervention 9 mars 2016 255
29 nov. 2009 à 17:44
up ?
0
soufianecreator Messages postés 60 Date d'inscription jeudi 12 novembre 2009 Statut Membre Dernière intervention 13 février 2010
29 nov. 2009 à 20:10
????
0