cs_loupile
Messages postés95Date d'inscriptiondimanche 8 janvier 2006StatutMembreDernière intervention 7 avril 2011
-
29 mars 2007 à 11:23
J_G
Messages postés1406Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention28 août 2007
-
29 mars 2007 à 13:34
Bonjour,
je me suis inspiré
ce que proposais kankrelune pour mon moteur, mais voià ca marche super
avec un seul mot, mais dès qu'il y en a 3 ca ne fonctionne plus ...
je vous donne le code ... j'ai fais mes essais avec bail (pour un mot) et signer un bail pour plusieurs ...
merci de votre précieuse aide ...
$cond = array();
foreach( $words as $word )
if (strlen($word)>3)
$cond[] = '(keywords LIKE \'%'.mysql_real_escape_string($word).'\'%)';
$keyword = empty($cond) ? '1' : implode(' and ',$cond); // ou avec 'and'...
$query27 = "SELECT * FROM contents WHERE (actif='1') and ($keyword) ORDER BY titre ";
$query227 = $query27;
$result227 = mysql_query($query227);
$query27.= " LIMIT $debut, $limit";
$result27 = mysql_query($query27);
J_G
Messages postés1406Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention28 août 20079 29 mars 2007 à 13:15
Ah ben là, j'ai envie de dire que tu n'a pas de ligne avec acitif='1' dans la table contents....
Ou que t'as pas de table contents...
Ou que ta condition de limit dans la requète sort du nombre de lignes du resultat...
Dans tous les cas, soit sur que "and (1)" n'a jamais fait de mal à personne !
T'as essayé de lancer cette requète dans un PhpMyAdmin ou assimilé ?
cs_loupile
Messages postés95Date d'inscriptiondimanche 8 janvier 2006StatutMembreDernière intervention 7 avril 2011 29 mars 2007 à 13:22
alors j'ai bien 97 lignes avec actif='1' j'ai bien table contents ...
la requête s'execute correctement là n'est pas le probleme ..
le probleme c'est que le code ne definit pas les mots clés là non ?
la requete ne reprend pas : keywords LIKE \'%'.mysql_real_escape_string($word).'\'% où alors je ne comprends vraiment rien :-)
J_G
Messages postés1406Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention28 août 20079 29 mars 2007 à 13:34
Prenons les choses dans l'ordre, tu veux ?
Si la requète est SELECT * FROM contents WHERE (actif='1') and (1) ORDER BY titre
Et que cette requète sort 97 lignes chez PhpMyadmin, alors, elle devrait les sortir aussi dans ton site !
Donc si elle ne le fait pas, ce n'est pas un problème de requète...
A vues de nez, les raisons peuvent être :
1. La dite requète n'est pas éxécutée
2. Son resultat n'est pas traité, ou mal
(je raisonne comme ça, habitude de débuggeur... Genre : "avez vous branchez votre appareil à une prise de courant?")