Titre: Probleme script moteur de recherche
Posté par: GoldRazor le le 30-10-2007 a 01:11:40
Bonjour,
J'ai codé un script qui permet de lister des resultats en fonction du mot clef entré dans la case "motclef". Mais je ne comprend pas pkoi la page me crache les erreurs suivantes :
"Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\destockage\search.php on line 268
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\destockage\search.php on line 273"
Voici une partie de mon code :
Code:
<?php $parpage=15; $stats=mysql_fetch_object(mysql_query("SELECT COUNT(*) AS `stats` FROM `annonces` WHERE INSTR (titre, '".$_REQUEST['motclef']."') OR INSTR (description, '".$_REQUEST['motclef']."')")); $total=$stats->stats; $_GET['debut']=$_GET['debut']*1; $res=mysql_query("SELECT * FROM `annonces` WHERE INSTR (titre,'".$_REQUEST['motclef']."') OR INSTR (description,'".$_REQUEST['motclef']."') ORDER BY `date` DESC LIMIT ".$_GET['debut'].",$parpage"); $ocp=0; while($annonces=mysql_fetch_array($res)){ $ocp+=1; ?> |
|
Si un pro peut y jeter un oeil, ca m'arrangerai.
Merci beaucoup ;) |
Titre: Re:Probleme script moteur de recherche
Posté par: GoldRazor le le 30-10-2007 a 13:42:17
Merci pour vos interventions, le mot clef est bien recuperé par REQUEST.
J'ai mieu organisé mon code :
<?php
$motclef=$_REQUEST['motclef']; $parpage=15; $sql = "SELECT COUNT(*) AS `stats` FROM `annonces` WHERE INSTR (titre, $motclef) OR INSTR (description, $motclef)"; $sql2 = mysql_query($sql); $sql3 = mysql_fetch_object($sql2);
echo "<br><br>SQL1 : $sql <br><br>"; echo "<br><br>SQL2 : $sql2 <br><br>"; echo "<br><br>SQL3 : $sql3 <br><br>";
$total=$stats->stats; $_GET['debut']=$_GET['debut']*1;
$req="SELECT * FROM `annonces` WHERE INSTR (titre, '$motclef') OR INSTR (description, '$motclef') ORDER BY `date` DESC LIMIT ".$_GET['debut'].",$parpage"; $req2 = mysql_query($req); echo "<br><br>REQ1 : $req <br><br>"; echo "<br><br>REQ2 : $req2 <br><br>"; $ocp=0; while($annonces=mysql_fetch_array($req2)){ $ocp+=1; ?> |
|
Voici ce que renvoi le code sur une recherche 'PS3' :
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\destockage\search.php on line 274
SQL1 : SELECT COUNT(*) AS `stats` FROM `annonces` WHERE INSTR (titre, PS3) OR INSTR (description, PS3)
SQL2 :
SQL3 :
REQ1 : SELECT * FROM `annonces` WHERE INSTR (titre, 'PS3') OR INSTR (description, 'PS3') ORDER BY `date` DESC LIMIT 0,15
REQ2 :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\destockage\search.php on line 292
Si vous avez une idée, n'hasitez pas. Merci beaucoup |
Titre: Re:Probleme script moteur de recherche
Posté par: patrick76 le le 30-10-2007 a 19:08:58
bonjour, est-tu sûr de la fonction 'instr()' en php ?? pour faire des recherches dans les chaines de caractères, il existe ereg(), entre autres...
|
Titre: Re:Probleme script moteur de recherche
Posté par: GoldRazor le le 30-10-2007 a 19:13:08
En effet, la fonction INSTR n'existe plus (satané livre de php5).
Donc la requete a préconiser serai celle la
SELECT * FROM `annonces` WHERE titre LIKE '%$motclef%' OR description LIKE '%$motclef%' ORDER BY `date` DESC LIMIT 0,15
Regarde ce topic, j'ai expliqué plus en detail
http://www.rentabilisez.com/forum/index.php?showtopic=31327&st=0&gopid=261669&#entry261669
S'il te vient une idée, quel quel soit, n'hesite pas.
Merci a ++ |
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|