Moteur de recherche : Des résultats à l'ouverture de la page ???

Eléphanteau du PHP | 37 Messages

15 oct. 2007, 14:29

Bonjour à tous.

J'ai monté un site avec un moteur de recherche qui fonctionne sans souci. Lors de l'ouverture de ma page de recherche, des résultats sont déjà apparant alors que je n'ai pas encore fait de recherche. Quelqu'un connaît il la facon d'éviter cet affichage "automatique" de résultat à l'ouverture de la page ????

J'ai un autre moteur de recherche, identique et lui ne m'affiche pas de résultat tant que je n'ai pas fait de recherche donc je ne comprend pas ???

Merci d'avance et bonne journée :)

Eléphant du PHP | 443 Messages

15 oct. 2007, 14:35

Bonjour à tous.

J'ai monté un site avec un moteur de recherche qui fonctionne sans souci. Lors de l'ouverture de ma page de recherche, des résultats sont déjà apparant alors que je n'ai pas encore fait de recherche. Quelqu'un connaît il la facon d'éviter cet affichage "automatique" de résultat à l'ouverture de la page ????

J'ai un autre moteur de recherche, identique et lui ne m'affiche pas de résultat tant que je n'ai pas fait de recherche donc je ne comprend pas ???

Merci d'avance et bonne journée :)
J'ai un autre moteur de recherche, identique et lui ne m'affiche pas de résultat tant que je n'ai pas fait de recherche donc je ne comprend pas ???
:-k
Je pense que le mieux c'est de ne pas ouvrir la page de recherche...

Sans rire comment penses-tu obtenir une réponse en ne donnant aucune info ?

Tracker.

Eléphanteau du PHP | 37 Messages

15 oct. 2007, 16:17

Re,

Je n'ai pas posté de code car j'ai l'impression que le problème vien du navigateur mais en effet, voici le code du formulaire de recherche et son résultat :
<form action="statssuivimedic.php" method="post" name="form_rechpat" id="form_rechpat">
<p align="center" class="centre"><span class="Style2">Recherche par médicament </span><em><strong>&nbsp;&nbsp;&nbsp;</strong></em>
<input name="nommedic" type="text">&nbsp;&nbsp;&nbsp;<input name="envoyer_rechpat" type="submit" value="Rechercher">(Sans tenir compte de la grille d'annulation)</p>
</form>
<table nowrap align="center">
<?
$host = 'localhost';
$user = '*****';
$pass = '*****';
$db = 'pharmacie';

$colname_recherchepatient = "1";
if (isset($_POST['nommedic'])) {
  $colname_recherchepatient = (get_magic_quotes_gpc()) ? $_POST['nommedic'] : addslashes($_POST['nommedic']);
}
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());


$SQL = sprintf("SELECT nummedic, nompatient, ordo_date, date_finperiode, date_debutperiode FROM ordonnance AS o, patient as p, date_periode AS d WHERE o.idpat = p.idpat AND o.nummedic LIKE '%%%s%%' AND o.ordo_date >= d.date_debutperiode AND o.ordo_date <= d.date_finperiode GROUP BY nompatient", $colname_recherchepatient);

$RS = mysql_query($SQL);
$totalRows_recherchepatient = mysql_num_rows($RS);

$i=0; $j=0; // initialisation des compteurs

while($val = mysql_fetch_array($RS)) {

   echo "<tr>";
   echo "<td nowrap bgcolor=#669999 align=center>".$val["nompatient"]."</td>";
   echo	"</tr>";
}
?>
</table>
Donc la fonction de recherche, marche à la perfection mais lorsque j'ouvre ma page des résultats sont déjà affichés ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

15 oct. 2007, 16:35

C'est sans doute parce que ta requête de recherche est exécutée même si aucun paramètre n'est soumis... la recherche se fait donc sur une valeur de $colname_recherchepatient égale à 1.

Effectue ta recherche uniquement si $_POST['nommedic'] est défini en remontant à l'intérieur du if() le code correspondant :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...