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 :
la source recherche.phpWarning: mysql_num_rows() expects parameter 1 to be resource, string given in C:\EasyPHP\www\recette\pages\recherche.php on line 40
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager