Moteur de recherche
bir
-
bir -
bir -
Bonjour tout le monde !
En fait je voudrai savoir comment faire un moteur de recherche en php avec plusieurs mots clé.
Merci
En fait je voudrai savoir comment faire un moteur de recherche en php avec plusieurs mots clé.
Merci
1 réponse
-
Bonjour,
hé bien tout d'abord j'imagine qu'il faut une base de donnée ou tu fera le referencement.
Puis ensuite une requete SQL qui recherchera en fonction des parametres "revelant" que tu auras choisis.-
Salut!
En fait joui j'ai créé ma base de données mysql et un formulaire permettant a l'utilisateur d'entrer ses données voici le formulaire:
<html>
<head>
<title>Connexion au site</title>
</head>
<body>
<form method="post" action="searchacti.php">
<table border="0" width="400" align="center">
Veuillez entrer les information concernant lEntreprise dont vous cherchez
<tr>
<td width="200"><b>*Activités</b></td>
<td width="200">
<input type="text" name="activité">
</td>
</tr>
<tr>
<td width="200"><b>Nom/Raison social</b></td>
<td width="200">
<input type="text" name="nom">
</td>
</tr>
<tr>
<td width="200"><b>Adresse</b></td>
<td width="200">
<input type="text" name="lieu">
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="submit" value="Recherche">
</td>
</tr>
</table>
et voici la page searchacti.php:
<?php
$host = "localhost";
$user = "moi";
$password = "websms";
$bdd = "sms";
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>";
if (($nom== "")||($nom == "%")) {
// 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!
<p>";
}
else {
// On selectionne les enregistrements contenant le mot clé
// dans les keywords ou le titre
$query = "SELECT distinct count(id) FROM annuaire_9
WHERE nom LIKE \"%$nom%\"
";
$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>
<p>
";
}
// Sinon, on affiche le nombre d'enregistrements correspondant
// et les résultats eux-mêmes
else {
$query = "SELECT distinct nom, ville, telephone, email, web FROM annuaire_9
WHERE nom LIKE \"%$nom%\" ORDER BY id DESC
";
$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> $Nombre </h2></a>
<p>";
}
while($row = mysql_fetch_array($result))
{
$nom = $row['nom'];
$ville = $row['ville'];
$telephone = $row['telephone'];
$email = $row['email'];
$web = $row['web'];
echo "
<p>\n
<b>$row[2]</b>\n
<p>\n
";
}
}
}
// on ferme la base
mysql_close();
?>
</body>
</html>
et a chaque fois quand je compile il me renvoit cette erreur:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in .
MERCI
-