salut à tous!
ce moteur de recherche m'affiche tout le contenu de ma table sans prendre en compte les mots clés saisis dans le formulaire!
Pouvez vous y jeter un coup d'oeil, s'il vous plait!
Merci.
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110 <html> <body> <form method="post" action="search2.php"> Entrez un mot clé:<br> <input type="text" name="Mot" size="15"> <input type="submit" value="Rechercher" alt="Lancer la recherche!"> </form> <?php $host = "localhost"; $user = "root"; $password = ""; $bdd = "catalogue"; mysql_connect($host, $user, $password) or die ("Connexion au serveur impossible"); // on choisit la bonne base mysql_select_db($bdd) or die ("Connexion a la base impossible"); echo " <html> <head> <title>Résultat de la recherche</title> </head> <body>"; //recuperation de la variable du formulaire $Mot = isset($_POST['Mot']) ? $_POST['Mot'] : ''; if (($Mot == "")||($Mot == "%")) { // Si aucun mot clé n'a été saisi, // le script demande à l'utilisateur // de bien vouloir préciser un mot clé //echo " //Veuillez entrer un mot clé s'il vous plaît! // On selectionne les enregistrements contenant le mot clé // dans les keywords ou le titre $query = "SELECT distinct count(*) FROM sousproduit WHERE nom_sousproduit LIKE \"%$Mot%\" "; $result = mysql_query($query); $row = mysql_fetch_row($result); $Nombre = $row[0]; // Si aucun enregistrement n'est retourné, // on affiche un message adéquat if ($Nombre == "0") { echo " <h2>Aucun résultat ne correspond à votre recherche</h2> "; } // Sinon, on affiche le nombre d'enregistrements correspondant // et les résultats eux-mêmes else { $query = "SELECT distinct nom_sousproduit FROM sousproduit WHERE nom_sousproduit LIKE \"%$Mot%\" "; $result = mysql_query($query); // Si un seul enregistrement est trouvé, on affiche un message au singulier if ($Nombre == "1") { echo " <a name=\"#resultat\"><h2>Résultat: Un article trouvé</h2></a> <p>"; } // Dans le cas contraire le message est au pluriel... else { echo " <a name=\"#resultat\"><h2>Résultat: $Nombre articles trouvés</h2></a> <p>"; } while ($row = mysql_fetch_object($result)) { echo $row->nom_sousproduit; } } } // on ferme la base mysql_close(); ?> </body> </html>
Partager