moteur de recherche multicritére ? - PHP - Programmation
Marsh Posté le 14-08-2003 à 09:58:36
A vue de nez ta chaine de sortie ($requete_sql_a) elle ressemble à ça:
SELECT * FROM test AND WHERE...
J'ai l'impression.
Marsh Posté le 14-08-2003 à 10:04:02
pour alléger ton code
plutôt que $requete = $requete.$variable tu peux faire
$requete .= $variable;
EDIT : pas étonnant que ça marche pas ton truc, le but du jeu c'est de sortir une requete SQL correcte et là c'est bourré d'erreur de syntaxe
RE EDIT : un exemple qui devrait sortir une vrai requete, par contre niveau perfs tu vas pleurer avec plusieurs mots
Code :
|
Marsh Posté le 21-08-2003 à 20:18:07
[citation=486853,1][nom]Sh@rdar a écrit[/nom]pour alléger ton code
plutôt que $requete = $requete.$variable tu peux faire
$requete .= $variable;
EDIT : pas étonnant que ça marche pas ton truc, le but du jeu c'est de sortir une requete SQL correcte et là c'est bourré d'erreur de syntaxe
RE EDIT : un exemple qui devrait sortir une vrai requete, par contre niveau perfs tu vas pleurer avec plusieurs mots
[code]
<?
if (isset($ts) && $ts!= '') {
$ts = trim($ts);
$ts = explode(' ', $ts);
foreach ($ts as $Key => $Val) {
$WHERE .= " AND (auteurs LIKE '%$Val%' OR nom LIKE '%$Val%' OR nom LIKE '%$Val%' OR catalog LIKE '%$Val%' OR age_d_application LIKE '%$Val%')";
}
$Req = 'SELECT * FROM test WHERE 1 '.$WHERE;
}
echo $Req;
?>
ben ca fonctione bien poutant ce que j'aimerais pouvoir faire c'est une recherche avec plusieurs critère..
Marsh Posté le 14-08-2003 à 08:53:01
bonjour,
voila j'ai un moteur de recherche qui interroge ma base de donnée mysql et affiche les resultats cela marche parfaitment mais uniquement avec un seul critère de recherche et j'essaye sans succes de pouvoir en faire un moteur multicritère mais bon voila ....
voici la partie du script qui contient la requete sql
$requete_sql_a= "SELECT * FROM test";
if (isset($ts) and $ts!="" )
{
if (isset($requete_sql)){$requete_sql_a = $requete_sql_a." AND ";}
//génération de la requête sql
$ts = trim($ts);
$mots_clefs = explode(" ", $ts);
foreach($mots_clefs as $loop)
{
$requete_sql= $requete_sql."(auteurs LIKE '%$loop%' OR nom LIKE '%$loop%' OR nom LIKE '%$loop%' OR catalog LIKE '%$loop%' OR age_d_application LIKE '%$loop%') AND ";
$requete_affichage = $requete_affichage."<b>$loop</b> & ";
}
$len = strlen($requete_sql);
$requete_sql = substr($requete_sql, 0,$len-5);
$requete_sql_a =$requete_sql_a." WHERE (".$requete_sql." )";
je pense qu'il faut modifier le script ici mais je me mêle les pinceaux la....
qui peut m'indiquer le chemin à suivre ?
ps: si vous voulez le script complet du moteur envoyer moi un message perso