modifier moteur de recherche

2 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour,

je voudrais que l'on puisse integrer la marque dans le moteur de recherche

Est ce possible?

Si oui ;) , qq'un peut m'expliquer comment faire

merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

La requete qui ramenne les informations se trouve dans achat/recherche.php:

$SqlRequest = "SELECT id, reference, nom_".$_SESSION['langue'].", image1, prix, promotion FROM peel_produits WHERE 

etat = '1' AND reference LIKE '%" . $motclef . "%' 

OR nom_".$_SESSION['langue']." LIKE '%" . $motclef  . "%' OR descriptif_".$_SESSION['langue']."

LIKE '%" .  $motclef  . "%' LIMIT $start, $nb";
Pour faire simple on va chercher des informations d'un article ayant: - son état à "1" - reference qui contient le mot clef OU le nom (dans la langque de la session) qui contient le mot clef OU la description (dans la langque de la session) qui contient le mot clef. Il faut donc ajouter la marque, mais la marque liée au prodtui est stockée dans une autre table qui fait la relation entre id produit et id marque. Ensuite il faut aller chercher le nom et la description dans la langque de la session pour voir si le mot clef s'y trouve. Par contre tous les produits ne sont pas obligatoirement associés à une marque, on ne peut donc pas faire une jointure normale entre le produit et la marque (sinon on ne ramennerait que les articles qui ont une marque associée), il faut faire se qu'on appelle une jointure à gauche qui ramenne les informations de la table 1 (de produit dans notre cas) même q'il n'y a pas de correspondance dans la table 2 (relation produit/marque). Je vais tenter de donner une première solution, si quelqu'un veut en donner une plus propre ou faire une explication plus claire, pas de soucis.
$SqlRequest = "SELECT peel_produits.id, peel_produits.reference, peel_produits.nom_".$_SESSION['langue'].", peel_produits.image1, peel_produits.prix, peel_produits.promotion 


FROM peel_produits 

LEFT JOIN peel_produits_marques ON peel_produits.id = peel_produits_marques.produit_id 

LEFT JOIN peel_marques ON peel_marques.id  = peel_produits_marques.marque_id 



WHERE peel_produits.etat = '1'

AND ( peel_produits.reference LIKE '%" . $motclef . "%' 

OR peel_produits.nom_".$_SESSION['langue']." LIKE '%" . $motclef  . "%' 

OR peel_produits.descriptif_".$_SESSION['langue']." LIKE '%" .  $motclef  . "%' 

OR peel_marques.nom_".$_SESSION['langue']." LIKE '%" . $motclef  . "%' 

OR peel_marques.description_".$_SESSION['langue']." LIKE '%" .  $motclef  . "%' ) LIMIT $start, $nb";

Voila, dites nous si c'est OK, car je ne peux pas tester là.

Willy

Pensez à sauvegarder la page avant toute modification.

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping