Moteur de recherche sql/php

Fermé
tak - 13 mai 2014 à 10:35
 tak - 19 mai 2014 à 12:24
Bonjour,


j'essaie de créer un moteur de recherche pour un blog créer, ma base de donnée s'appelle webblog, la table s'appelle recherche et contient 3 colonnes : id, mot_cle et texte.

J'ai pour cela fait deux fichiers php, un contient le formulaire de ce côté la rien de bien compliqué et l'autre contient le code pour faire marcher la recherche et la c'est le drame... impossible de le faire fonctionner.
Voici mon code :

<?
mysql_connect('localhost','root','');
mysql_select_db('webblog');
$requete = htmlspecialchars($_POST['requete']);
$query = mysql_query("SELECT * FROM articles WHERE mot_cle LIKE '%$requete%' ORDER BY id DESC") or die (mysql_error());
$nb_resultats = mysql_num_rows($query);
if($nb_resultats != 0)
{
?>
<h3>Résultats :</h3>
<p>Nous avons trouvé
<?
echo $nb_resultats;
?>
resultats :<br/>
<?
while($donnees = mysql_fetch_array($query))
{
?>
<a href="???.php?id=<? echo $donnees['id']; ?>"><? echo $donnees['mot_cle']; ?></a><br/>
<?
}
?>
<a href="recherche.php">Faire une nouvelle recherche</a></p>
<?
}
mysql_close();
?>

Je suis en trein de me rendre fou dessus si vous pouviez m'aider... Dans le premier href qui va servir à renvoyer le nombre de résultat si j'ai bien compris je ne vois pas quoi mettre ? mon recherche.php ? Est-ce que le soucis vient de là ou est-ce un autre soucis dans le code ?
A voir également:

5 réponses

Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
Modifié par Nhay le 13/05/2014 à 13:04
Bonjour,
Ton lien est censé te mener vers l'article en question je suppose.
Sinon, tu nous indique que ta table ce nomme recherche, mais tu fait un select sur la table article.

Sinon, si il y a un message d'erreur renvoyé par le serveur, merci de nous l'indiquer :)
0
Bonjour, merci pour ta réponse;

Non je n'ai aucune erreur, juste il ne me renvoi aucuns résultats, il ne m'indique pas si il a ou non trouver le résultat de la recherche. Le nom de la table n'influ pas sur la recherche ? c'est juste un nom pour me répérer, et j'ai choisi article car je veux qu'il cherche dans cette table. J'ai du mal comprendre quelque chose je suis un peu largué là :/
0
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
14 mai 2014 à 21:37
après ton mysql_query, echo un p'tit mysql_error() pour voir si tu a une erreur ou non.
Sinon, tu est sur qu'il y a un résultat à retourner ?
0
Pour le mysql error() c'est celui que j'ai mis déjà non ? : or die (mysql_error()); ?

Le problème vient peut etre de la ? : <a href="???.php?id=<? echo $donnees['id']; ?>"><? echo $donnees['mot_cle']; ?></a><br/> ?
Je ne sais pas quelles données mettre dans le href "???.php"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Un petit up...
J'ai essayé de le simplifier, dans la base de donnée il y a bien des commentaires dans la table, mais je n'arrive toujours pas à afficher quelque chose...

<?
mysql_connect('localhost','root','');
mysql_select_db('webblog');
$requete = htmlspecialchars($_POST['recherche']);
$query = mysql_query("SELECT * FROM articles WHERE mot_cle LIKE '%requete%' ORDER BY id_article DESC");
$nb_resultats = mysql_num_rows($query);
echo $nb_resultats;
if($nb_resultats != 0)
{
?>
<h3>Résultats :</h3>
<?
echo $nb_resultats;
}
mysql_close();
?>
0