Bonjour,
Salut,
J'aimerai adapter a mon site un script de moteur de recherche avec quelque amélioration.
mes amélioration consiste a élevé la sélection
est garder (au mois un mot) cette option doit resté par default
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <select name="mode"> <option value="expression_exacte">Expression exacte</option> <option value="un_mot">Au moins un mot</option> </select>
voila le code
si quelqu'un peu m'aidez ben qu'il n'hésite pas ^^'
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 <?php mysql_connect("localhost", "root", ""); //connexion à la bdd mysql_select_db("testsearch"); if (isset($_POST['rechercher'])) //si on a validé le formulaire { $recherche = mysql_real_escape_string(htmlspecialchars($_POST['recherche'])); //sécurisation des variables $mode = $un_mot if //si le mode de recherche n'est pas par expression exacte { $selection_recherche = mysql_query("SELECT * FROM mpiii WHERE titre LIKE '%$recherche%' ORDER BY id DESC"); $mots = explode(" ", $recherche); //séparation des mots $nombre_mots = count ($mots); //compte le nombre de mots $valeur_requete = ''; for($nombre_mots_boucle = 0; $nombre_mots_boucle < $nombre_mots; $nombre_mots_boucle++) //tant que le nombre de mots de la recherche est supérieur à celui de la boucle, on continue en augmentant le nombre de mots de 1 à chaque fois { $valeur_requete .= ' titre LIKE \'%' . $mots[$nombre_mots_boucle] . '%\''; //modification de la variable $valeur_requete } $valeur_requete = ltrim($valeur_requete); //suppression de AND ou de OR au début de la boucle $selection_recherche = mysql_query("SELECT * FROM mpiii WHERE $valeur_requete ORDER BY id DESC"); //requête avec le résultat de la boucle dedans } else { echo'test'; } $nombre_resultats = mysql_num_rows($selection_recherche); //compte le nombre d'entrées sélectionnées par la recherche if ($nombre_resultats == 0) //s'il n'y a pas de résultat { echo 'aucun resultat.<a href="recherche.php">recommencer</a>'; } else //il y a au moins un résultat { echo 'nombre de résultats: ' . $nombre_resultats . ':<br /><br />'; //nombre de résultats while($resultats = mysql_fetch_array($selection_recherche) ) //boucle affichant les résultats { echo '<strong>Titre:</strong> ' . $resultats['titre'] . '<br /> <strong>Date:</strong> ' . $resultats['date'] . '<br /><br />'; } echo '<a href="recherche.php">recommencer</a>'; } } else //si on n'a pas validé le formulaire, on l'affiche { ?> <form method="post" action="recherche.php"> Votre recherche : <input type="text" name="recherche" /> <br /> <input type="submit" value="Rechercher" name="rechercher" /> </form> <?php } mysql_close(); //déconnexion de la bdd ?>
merci d'avance







Répondre avec citation
Partager