Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1738 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  moteur de recherche multicritére ?

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

moteur de recherche multicritére ?

n°486758
pcor
Posté le 14-08-2003 à 08:53:01  profilanswer
 

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 :)  

mood
Publicité
Posté le 14-08-2003 à 08:53:01  profilanswer
 

n°486842
ACut
Posté le 14-08-2003 à 09:58:36  profilanswer
 

A vue de nez ta chaine de sortie ($requete_sql_a) elle ressemble à ça:
 
SELECT * FROM test AND WHERE...
 
J'ai l'impression.


---------------
NOUVEAU! Le guide de l'édition en version ebook : http://marcautret.free.fr/autret/150q-ebook/
n°486853
Sh@rdar
Ex-PhPéteur
Posté le 14-08-2003 à 10:04:02  profilanswer
 

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 :
  1. <?
  2. if (isset($ts) && $ts!= '') {
  3.   $ts = trim($ts);
  4.   $ts = explode(' ', $ts);
  5.   foreach ($ts as $Key => $Val) {
  6.     $WHERE .= " AND (auteurs LIKE '%$Val%' OR nom LIKE '%$Val%' OR nom LIKE '%$Val%' OR catalog LIKE '%$Val%' OR age_d_application LIKE '%$Val%')";
  7.   }
  8.   $Req = 'SELECT * FROM test WHERE 1 '.$WHERE;
  9. }
  10. echo $Req;
  11. ?>


Message édité par Sh@rdar le 14-08-2003 à 10:12:11

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°493748
pcor
Posté le 21-08-2003 à 20:18:07  profilanswer
 

[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..


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  moteur de recherche multicritére ?

 

Sujets relatifs
Quel moteur 3d opengl me conseillez-vous ?recherche script pour aboutir sur une page qd .htaccess faux
recherche site interpolationRecherche qq sachant signer des applet
[divers] pour programmation recherche simulateur couche basse ADSL[PHP ou PERL] Cherches script pour avoir les requetes de recherche
Moteur de recherche : Prquoi ça marche pas?Recherche manuel ou truc dans le style
recherche de documentation complète ASP.net 
Plus de sujets relatifs à : moteur de recherche multicritére ?


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR