osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Export Universel, omettre des produits d'une categorie
figaro
posté 3 May 2012, 13:35
Message #1


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 52
Inscrit : 11-January 08
Membre no 20351



Bonjour,

J'aimerais lors de la création de mon flux xml ne pas exporter les produits d'une certaine catégorie.
Je ne sais pas trop comment modifier le fichier export.php pour ne pas prendre en compte les produits de cette catégorie.
Pouvez vous m'aider svp ?

Figaro
Go to the top of the page
 
Gnidhal
posté 3 May 2012, 14:53
Message #2


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 9221
Inscrit : 4-March 03
Lieu : Pau
Membre no 927



dans ta requête tu ajoutes une jointure dans le FROM sur products_to_categories :
après " .TABLE_PRODUCTS . " p
ce qui donne :
" . TABLE_PRODUCTS . " p left join " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c on (p.products_id = p2c.products_id)
et dans le where tu ajoutes ton filtre :
and p2c.categories_id <> 'xx'
où xx = l'id de ta categorie à ne pas prendre en compte.


--------------------
Tout d'abord : - Ni Hotline ni Service Après Vente, ces forums sont un lieu d'échange. BIEN POSER SA QUESTION (généralités)
Les "Informations Importantes" que vous devez ABSOLUMENT avoir lues :
Règlement, Bien poser sa question dans ces forums et Bien utiliser les Forums.
Les raccourcis pour gagner du temps : la FAQ, les PDF de la Doc (MS2-fr): PDF-V1 et PDF-V2, le moteur de Recherche sur les forums , la Liste des Contributions de Corbin.

----------------------------- Quelques sites de référence ---------------------------
PHP: Le site du Zéro et PHP Débutant avec la DOC en français -- HTML: Self HTML - WebProgrammation -- CSS: OpenWeb - AlsaCréations - CSS/Edge -- Autres ressources: - XajaX - highslide js
Les bons outils : EasyPHP - WAMP-5 - - Notepad++ - Firefox et son extension WebDeveloper
Le gène idéal c'est le gène original. Le génie des halles est un Génie des Alpages qui tente d'être à la page. (Merci f'murrr pour les cours de philosophie de chien)
Go to the top of the page
 
figaro
posté 3 May 2012, 15:35
Message #3


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 52
Inscrit : 11-January 08
Membre no 20351



Merci pour votre réponse, je viens de faire la modif, en revanche je n'obtiens plus de flux....
Voici le code, pouvez me confirmer que je n'ai pas fait de faute ?

$products_query = tep_db_query("SELECT p.*,
pd.products_name, pd.products_description,
pc.categories_id,
pr.date_added as review_date, pr.customers_name, pr.reviews_rating,
pt.reviews_text, pt.languages_id as lngr
FROM (" . TABLE_PRODUCTS . " p left join " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c on (p.products_id = p2c.products_id), " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " pc)
LEFT JOIN reviews as pr ON (p.products_id = pr.products_id)
LEFT JOIN reviews_description as pt ON (pr.reviews_id = pt.reviews_id)
WHERE p.products_id = pd.products_id
AND p.products_id = pc.products_id
AND p.products_status = 1
AND pd.language_id = FLOOR($languages_id)
and p2c.categories_id <> '448'
ORDER BY pc.categories_id, pd.products_name");


Figaro
Go to the top of the page
 
Gnidhal
posté 3 May 2012, 16:37
Message #4


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 9221
Inscrit : 4-March 03
Lieu : Pau
Membre no 927



comme la table était déjà appelée dans la requête, le left join est inutile :
Code
$products_query = tep_db_query("SELECT p.*,
pd.products_name, pd.products_description,
pc.categories_id,
pr.date_added as review_date, pr.customers_name, pr.reviews_rating,
pt.reviews_text, pt.languages_id as lngr
FROM (" . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " pc)
LEFT JOIN reviews as pr ON (p.products_id = pr.products_id)
LEFT JOIN reviews_description as pt ON (pr.reviews_id = pt.reviews_id)
WHERE p.products_id = pd.products_id
AND p.products_id = pc.products_id
AND p.products_status = 1
AND pd.language_id = FLOOR($languages_id)
and pc.categories_id <> '448'
ORDER BY pc.categories_id, pd.products_name");

devrait fonctionner


--------------------
Tout d'abord : - Ni Hotline ni Service Après Vente, ces forums sont un lieu d'échange. BIEN POSER SA QUESTION (généralités)
Les "Informations Importantes" que vous devez ABSOLUMENT avoir lues :
Règlement, Bien poser sa question dans ces forums et Bien utiliser les Forums.
Les raccourcis pour gagner du temps : la FAQ, les PDF de la Doc (MS2-fr): PDF-V1 et PDF-V2, le moteur de Recherche sur les forums , la Liste des Contributions de Corbin.

----------------------------- Quelques sites de référence ---------------------------
PHP: Le site du Zéro et PHP Débutant avec la DOC en français -- HTML: Self HTML - WebProgrammation -- CSS: OpenWeb - AlsaCréations - CSS/Edge -- Autres ressources: - XajaX - highslide js
Les bons outils : EasyPHP - WAMP-5 - - Notepad++ - Firefox et son extension WebDeveloper
Le gène idéal c'est le gène original. Le génie des halles est un Génie des Alpages qui tente d'être à la page. (Merci f'murrr pour les cours de philosophie de chien)
Go to the top of the page
 
figaro
posté 4 May 2012, 10:37
Message #5


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 52
Inscrit : 11-January 08
Membre no 20351



Bonjour et merci Gnidhal !
Cela fonctionne correctement. Je me posais encore une question car j'ai pas mal de categories a ne pas exporter.
Est il possible de faire le contraire ? d'appeler uniquement les categories a exporter ? si oui quelle serait la syntaxe ?
Merci pour ton aide.

Figaro
Go to the top of the page
 
Gnidhal
posté 4 May 2012, 15:34
Message #6


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 9221
Inscrit : 4-March 03
Lieu : Pau
Membre no 927



Il faudrait te documenter sur les syntaxes sql avec les sites de sql (voir une recherche via GG)
mais tu as 2 possibilités pour filtrer tes catégories soit en inclusion et tu remplaces ton
and pc.categories_id <> '448'
par une liste de catégories à prendre en compte :
and pc.categories_id in ('446','449','450')
par exemple pour ces 3 catégories a considérer

soit par exclusion avec juste un not en plus dans la syntaxe
and pc.categories_id NOT in ('443','451','455','456')


--------------------
Tout d'abord : - Ni Hotline ni Service Après Vente, ces forums sont un lieu d'échange. BIEN POSER SA QUESTION (généralités)
Les "Informations Importantes" que vous devez ABSOLUMENT avoir lues :
Règlement, Bien poser sa question dans ces forums et Bien utiliser les Forums.
Les raccourcis pour gagner du temps : la FAQ, les PDF de la Doc (MS2-fr): PDF-V1 et PDF-V2, le moteur de Recherche sur les forums , la Liste des Contributions de Corbin.

----------------------------- Quelques sites de référence ---------------------------
PHP: Le site du Zéro et PHP Débutant avec la DOC en français -- HTML: Self HTML - WebProgrammation -- CSS: OpenWeb - AlsaCréations - CSS/Edge -- Autres ressources: - XajaX - highslide js
Les bons outils : EasyPHP - WAMP-5 - - Notepad++ - Firefox et son extension WebDeveloper
Le gène idéal c'est le gène original. Le génie des halles est un Génie des Alpages qui tente d'être à la page. (Merci f'murrr pour les cours de philosophie de chien)
Go to the top of the page
 

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 19th March 2024 - 06:55
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)