Moteur de recherche

Skater54 Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   -  
Skater54 Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai créer un moteur de recherche mais j'aimerai que lorsque qu'une personne rentre un mot qui n'est pas dans la base de donnée , que sa affiche un message du genre " Votre recherche n'a renvoyé aucun résultat.". J'aimerai aussi que lorsque une personne appuie sur le bouton rechercher alors qu'elle n'a rien rentré il ne se passe rien, je précise je suis débutant dans la programmation.

voila mon script :

<?php include("includes/Menu_haut.php"); ?>

<div id="corp">
<h1>.:: Recherche ::.</h1>
<div id="content">

<?php
$nombreDeMessagesParPage = 30;

$retour = mysql_query("SELECT COUNT(*) AS nb_imagemini FROM news ");
$donnees = mysql_fetch_array($retour);

$totalDesMessages = $donnees['nb_imagemini'];

$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);

if (isset($_GET['page']))
{
$page = $_GET['page'];
}
else
{
$page = 1;
}
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;

$reponse = mysql_query("SELECT * FROM news WHERE titre LIKE '%".str_replace(' ', '%', $_POST['recherche'])."%' ORDER BY titre LIMIT ".$premierMessageAafficher.', '.$nombreDeMessagesParPage);
?>
<table>
<?php
for($i = 0; $donnees = mysql_fetch_array($reponse); $i++)
{
if($i%5 == 0) echo '<tr>';

$imagemini = stripslashes($donnees['imagemini']);
$titre = stripslashes($donnees['titre']);
echo '<td valign="baseline" align="center"><a href="upload.php?id='.$donnees['id'].'"><img width="120" height="160" src="'.$imagemini.'" />' .$titre. '</a></td>';

if($i%5 == 4) echo '</tr>';
}
?>
</table>

<?php include("includes/bas_de_page.php"); ?>


Merci !

2 réponses

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Pour vérifier si la requête envoie des résultats, il faut vérifier que mysql_num_rows($reponse) n'est pas nul.
Cela donne donc :
$reponse = mysql_query("SELECT * FROM news WHERE titre LIKE '%".str_replace(' ', '%', $_POST['recherche'])."%' ORDER BY titre LIMIT ".$premierMessageAafficher.', '.$nombreDeMessagesParPage); 
if (mysql_num_rows($reponse) > 0)
{
?> 
<table> 
<?php 
for($i = 0; $donnees = mysql_fetch_array($reponse); $i++) 
{ 
if($i%5 == 0) echo '<tr>'; 

$imagemini = stripslashes($donnees['imagemini']); 
$titre = stripslashes($donnees['titre']); 
echo '<td valign="baseline" align="center"><a href="upload.php?id='.$donnees['id'].'"><img width="120" height="160" src="'.$imagemini.'" />' .$titre. '</a></td>'; 

if($i%5 == 4) echo '</tr>'; 
} 
?> 
</table> 
<?php
}
else
  echo "Aucun résultat !";
include("includes/bas_de_page.php"); ?> 

Pour le fait qu'appuyer sur le bouton ne fasse rien, il faut utiliser du javascript, mais ça va un peu dépendre du code de ton formulaire.
Si tu utilises un formulaire classique <form> avec un bouton de type "submit", alors il faut rajouter un événement onsubmit à ton form :
<form onsubmit='javascript:return document.getElementById("TONCHAMPTEXTE").value != "";'>

Voilà !

Xavier
0
Skater54 Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   7
 
Merci beaucoup :)
0