Utilisation de mysql_num_rows()
bonsoir jai un petit probleme avec un mysql_num_rows() je suis entrain de faire un petit moteur de recherche en multi-critere pour mon site.
Jai entendu dire que cetait une fonction obsolete alors la question est: comment je peu faire pour contourner ceci??
donc jai cette erreur qui s'affiche :
Citation:
Warning: mysql_num_rows() expects parameter 1 to be resource, string given in C:\EasyPHP\www\recette\pages\recherche.php on line 40
la source recherche.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| <div id="right"><!-- COLONNE DE DROITE -->
<div class="cadre_haut"></div><div class="cadre_fond"><!-- CADRE -->
<img src="images/info.png" style="float:left;width:105px;" alt=""/>
<br /><span>Recherche</span><br /><br />
La page de vos recherche
<br />
<br />
</div><div class="cadre_bas"></div><!-- FIN CADRE -->
<?php require("./include/info.php"); ?>
<div class="cadre_haut"></div><div class="cadre_fond">
<?php
if(isset($_POST['requete']) && $_POST['requete'] != NULL) // on vérifie d'abord l'existence du POST et aussi si la requete n'est pas vide.
{
//$requete = htmlspecialchars($_POST['requete']);
//$query = mysql_query("SELECT * FROM recette WHERE motclef LIKE '%$requete%' ORDER BY id DESC") or die (mysql_error());
$requete = htmlspecialchars($_POST['requete']);
// Extraction des mots clefs
$mots = explode( " ", $requete );
if( count( $mots ) > 0 ) {
// Première partie de ta requête
$query = "SELECT * FROM recette WHERE ";
for( $i = 0; $i < count( $mots ); $i++ ) {
$query .= "motclef LIKE '%". $mots[$i] ."%'";
if( $i < count( $mots ) - 1 )
$query .= " OR ";
}
$query .= " ORDER BY id DESC";
$reponse = mysql_query($query) or die(mysql_error());
}
echo''.$query.'<br />';
$nb_resultats = mysql_num_rows($query);
if($nb_resultats != 0) // si le nombre de résultats est supérieur à 0, on continue
{
echo'<span>Résultats de votre recherche.</span><br />Nous avons trouvé '.$nb_resultats.' ';
if($nb_resultats > 1) { echo 'résultats';}
else { echo 'résultat'; }
echo' dans notre base de données.<br />Voici les recettes que nous avons trouvées :<br/><br/>';
while($donnees = mysql_fetch_array($query))
{
echo'<a href="index.php?page=recette&id='.$donnees['id'].'">'.$donnees['titre'].'</a><br/>';
}
}
else
{
echo'Pas de résultats Nous n\'avons trouvé aucun résultat pour votre requête "'.$_POST['requete'].'". <a href="index.php?page=recherche">Réessayez</a> avec autre chose.';
}
mysql_close(); // on ferme mysql, on n'en a plus besoin
}
else
{
echo'<p>Vous allez faire une recherche dans notre base de données concernant des recettes.</p>
<form action="index.php?page=recherche" method="Post">
<input type="text" name="requete" size="30">
<input type="submit" value="Chercher">
</form>';
}
?>
</div><div class="cadre_bas"></div> |
merci pour votre aide