Jump to content
WebFrance
  • Rejoignez WebFrance

    Inscrivez vous aujourd'hui et recevez le Guide gratuit du e-Business

     

Pb requête moteur de recherche interne...[Résolu]


spacemarmotte
 Share

Recommended Posts

Bonjour à tous,

je refond le site de ma société...

j'ai installé un petit moteur de recherche sur mon site. Il envoie les mots saisis ($recherche) sur la page recherche.php

arrivé sur cette page, je scinde les mots:

$rech = explode(" ",$recherche2);

$mot1 = $rech[0];

$mot2 = $rech[1];
et je vais chercher ces mots dans mes champs "marque", "modele" et "finition" de la bdd... et je les affiche en tenant compte d'un critère de tri ("marque/modele" ou "prix") ... là ou je bugge, c'est pour les différentes requêtes si je fais une recherche "X5" = ça affiche le X5 que j'ai... si je fais une recherche "BMW" = j'ai toutes mes BMW... mais si je fais une recherche "BMW X5" = .... j'ai toutes mes BMW !!! GRRRR !!! j'ai trituré mes AND / OR dans tous les sens , je ne trouve pas !! je vous affiche les lignes de code... si l'un d'entre vous voit ou je me trompe ... avec un grand merci ;-)
          if (isset($_POST['recherche']))

          {

               $recherche2 = $_POST['recherche']; 

               $_SESSION['recherche2'] = $recherche2;

          }


          $rech = explode(" ",$recherche2);

          $mot1 = $rech[0];

          $mot2 = $rech[1];


          //echo '<h3>'.$recherche2.'</h3>';




          if ($ord=="") {

               $ord2 = 'marque,modele';

               $requete = "SELECT * FROM base WHERE marque LIKE '%$mot1%' OR modele LIKE '%$mot1%' OR finition LIKE '%$mot1%' AND visible='1' ORDER BY $ord2" ;

                    }


               elseif ($ord=='prix') {

               $ord2 = 'prix';

               $requete = "SELECT * FROM base WHERE prix!='1' AND prix!='2' AND marque LIKE '%$mot1%' OR modele LIKE '%$mot1%' OR finition LIKE '%$mot1%' AND visible='1' ORDER BY '$ord2' ASC ";

                    }


               elseif ($ord=='marque,modele')

                    {

               $ord2 = 'marque,modele';

               $requete = "SELECT * FROM base WHERE marque LIKE '%$mot1%' OR modele LIKE '%$mot1%' OR finition LIKE '%$mot1%' AND visible='1' ORDER BY $ord2" ;

                    }


          // $requete = "SELECT * FROM base WHERE marque LIKE '%$mot1%' OR modele LIKE '%$mot1%' OR finition LIKE '%$mot1%' AND visible='1' ORDER BY marque, modele";

          $requete2 = mysql_query($requete);

          $limit=6;

        if($debut==""){$debut=0;} 

          $debut=$page*$limit;

           $nb_total = mysql_num_rows($requete2);

           $resultats = mysql_query("$requete LIMIT $debut,$limit");




            while ($data = mysql_fetch_array($resultats)) {

                    $Marque[] = $data["marque"];

                $Modele[] = $data["modele"];

                $Version[] = $data["finition"];

                    $MEC1[] =  $data["mois"];

                    $MEC2[] = $data["annee"];

                    $klm[] = $data["km"];

                    $options[] = substr($data["option_select"], 0, 65);

                $prix[] = $data["prix"];

                    $prix2[] = number_format($data["prix"], 0, ',', ' ');

                    $IDVO[] = $data["reference"];        }  

               for ($i=0; $i<$limit ;  $i++)

Eric

PS: l'exclusion des prix = 1 et prix = 2 correspond à une codification (1 = vendu, 2 = réservé)

Edited by spacemarmotte
Link to comment
Share on other sites
Partagez cette page :

>> Nouveau : Découvrez la marketplace d'Achat / Vente de Sites !

OOPpss.. désolé !

erreur de copier coller

j'avais essayé aussi ça :

"SELECT * FROM base WHERE prix!='1' AND prix!='2' AND marque LIKE '%$mot1%' OR modele LIKE '%$mot1%' OR finition LIKE '%$mot1%'  OR marque LIKE '%$mot2%' OR modele LIKE '%$mot2%' OR finition LIKE '%$mot2%' AND visible='1' ORDER BY '$ord2' ASC ";

sans succès ...

Edited by spacemarmotte
Link to comment
Share on other sites
Partagez cette page :

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share



© WebFrance - Contact - Annonceurs - Conditions générales - Legal

×
×
  • Create New...