Modification de la recherche

Archive

Messagepar zapatt » Dim 02 Nov 2008, 16:19

Bonjour a tous,

Je souhaite que la recherche par mots clefs se base aussi sur le nom de la catégorie du produit en cours.
J'ai donc modifié le fichier "advanced_search_result.php" en conséquence.
enfin je pensais ;p

J'ai ajouté :


vers ligne 167
Code: Tout sélectionner
//$select_str = "select distinct " . $select_column_list . " m.manufacturers_id, p.products_id, pd.products_name, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price ";
////
  $select_str = "select distinct " . $select_column_list . " m.manufacturers_id, p.products_id, pd.products_name, p.products_price, p.products_tax_class_id,  cd.categories_name, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price ";

vers ligne 185
Code: Tout sélectionner
//modif tom pour recherche dans categorie
//$from_str .= ", " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_CATEGORIES . " c, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c";
$from_str .= ", " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_CATEGORIES . " c, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, ".TABLE_CATEGORIES_DESCRIPTION ." cd";

//modif tom pour recherche dans categorie
//$where_str = " where p.products_status = '1' and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id and p2c.categories_id = cd.categories_id ";
$where_str = " where p.products_status = '1' and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id and p2c.categories_id = cd.categories_id ";

vers ligne 231
Code: Tout sélectionner
     /////modif tom pour recherche dans categorie
      ///$where_str .= "(pd.products_name like '%" . tep_db_input($keyword) . "%' or p.products_model like '%" . tep_db_input($keyword) . "%' or m.manufacturers_name like '%" . tep_db_input($keyword) . "%'";
     
                $where_str .= "(pd.products_name like '%" . tep_db_input($keyword) . "%' or p.products_model like '%" . tep_db_input($keyword) . "%' or m.manufacturers_name like '%" . tep_db_input($keyword) . "%' or cd.categories_name like '%" . tep_db_input($keyword) . "%'";

La Recherche me sort ce que je veux mais me parait anormalement longue a resortir sur mon serveur local (je ne l'ai pas encore mis en test sur mon vrai serveur.
Je me demandais si d'apres vous la modif était efficace ou si mon interrogation sql etait trop groumande en ressource et a modifer par un "join".
Meri de vos avis.
zapatt
Membre actif
 
Messages: 38
Inscription: Mer 28 Mai 2008, 15:21

Messagepar cynic- » Mer 26 Nov 2008, 19:13

Tout d'abord merci de proposer (même si je n'ai pas le temps de tester pour le moment)
J'ai remarqué aussi que la recherche par défaut ne se faisait pas dans les descriptions, ce qui me semblerait logique pourtant ! Alors soit je n'ai pas trouvé l'option, soit il faut une modification comme la tienne :)
cynic-
Site Admin
 
Messages: 694
Inscription: Mar 04 Déc 2007, 13:04

Messagepar zapatt » Jeu 27 Nov 2008, 18:19

j'ai changer la requete pour un "join" plus leger, je le posterais ce soir de chez moi.
De même je suis tout a fait d'accord avec toi, j'ai rajouter la recherche dans le titre.
Je te posterais aussi mon code :p
zapatt
Membre actif
 
Messages: 38
Inscription: Mer 28 Mai 2008, 15:21


Retourner vers osCSS 1.2.1

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

cron