Moteur de recherche

Fermé
bir - 21 févr. 2006 à 17:13
 bir - 22 févr. 2006 à 11:53
Bonjour tout le monde !
En fait je voudrai savoir comment faire un moteur de recherche en php avec plusieurs mots clé.
Merci
A voir également:

1 réponse

Canard007 Messages postés 5929 Date d'inscription mercredi 26 mai 2004 Statut Contributeur Dernière intervention 18 septembre 2009 215
21 févr. 2006 à 17:16
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.
0
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
0