bonjour,
je suis en train de faire un petit moteurd e recherche pour un de mes sites internet et je me retrouve face à 3 problemes :
1 - si je fais une recherche depuis phpmyadmin pour par exemple sur le mot "paysages" : j'ai 15 resultats qui ressortent.
maintenant si je passe par mon moteur de recherche avec la meme recherche je n'ai que 14 résultats. J'ai donc un resulat qui se perd quelque par.... (j'ai testé avec d'autres mot c'est pareil, un resultat en moins sur toutes les recherches)
2 - lorsque je fait ma recherche par exemple sur le mot "lac" je n'ai pas de resultats alors que dans mes champs j'ai bien des données qui contiennent le mot lac en texte ex : "Photo aérienne de la tour de la merelle et le lac de gérardmer ".
3 - Dans ma recherche si je rentre "gerardmer" j'ai pas de résultat à cause de l'accent. y'a t'il un moyen pour ne pas tenire compte des accents lors de la recherche et ainsi si un internaute rentre "gerardmer" il obtiendra les resultats avec "gérardmer" et "gerardmer".?
voici ma table :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 CREATE TABLE `IWgalerie` ( `id` bigint(20) unsigned NOT NULL auto_increment, `type` varchar(40) collate latin1_german2_ci default NULL, `ref` varchar(20) collate latin1_german2_ci default NULL, `exemple` varchar(20) collate latin1_german2_ci default NULL, `alt` text collate latin1_german2_ci, `photoref` varchar(255) collate latin1_german2_ci default NULL, `photoex` varchar(255) collate latin1_german2_ci default NULL, PRIMARY KEY (`id`), FULLTEXT KEY `recherche` (`type`,`ref`,`exemple`,`alt`) ) ENGINE=MyISAM AUTO_INCREMENT=86 DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=86 ;
et mon code pour le moteur de recherche :
pourriez vous m'aider a resoudre ces 3 problemes ? je planche dessus depuis 2 jours sans avancer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <?php include("../connexion-sql.php"); function search() { $champ=$_POST['rechercherpar']; $mot=$_POST['mot_cle']; $resultat=mysql_query("SELECT * FROM IWgalerie WHERE match(`type`,`ref`,`exemple`,`alt`) against ('$mot')"); $ligne=mysql_fetch_array($resultat); while($ligne = mysql_fetch_array($resultat)) { $ref=$ligne['ref']; $alt=$ligne['alt']; $type=$ligne['type']; echo $ligne['id'].' '.$type.' '.$ref.' '.$alt.' <img src="../pages/mini-galerie.php?f='.$ligne['photoref'].'" alt="'.$ligne['alt'].'" border="0" width="168px" height="113px" class="reflect rheight31 ropacity33"/><br/>'; } } search(); ?>
Partager