Jump to content

mettre tous les produit d'une catégorie en promo avec une simple requête


miiidooo-19

Recommended Posts

Bonjour à tous

 

comme c'est expliqué dans le titre de mon topic, je souhaite créer une requête sql que je vais exécuter dans phpmyadmin afin de mettre tous les produit d'une catégorie en promo de 10%

 

sachant que dans cette catégorie les produit sont dans des sous-catégorie

 

exemple :

 

catégorie pantalons :

sous catégorie de pantalons :

  • slim
  • coupé
  • jean

 

version PS 1.3.1.1 et aussi pour la version 1.4.7.0

 

et merci d'avance.

Link to comment
Share on other sites

'Update '._DB_PREFIX.'product set reduction_percent = 10 , reduction_from ='date debut', reduction_to = 'date fin' where id_product in

(select id_product from '._DB_PREFIX_.'category_product where id_category IN (select id_category from '._DB_PREFIX_.'category where id_parent = 'la categorie de depart' GROUP BY id_category) GROUP BY id_product ) '

 

C'est vite fait avant le café matinal donc largement optimisable, j'en conviens, mais ça fait l'affaire ;)

Edited by Peuh (see edit history)
Link to comment
Share on other sites

Attention : ce n'est pas propre de faire ainsi mais vous semblez décidé à le faire, donc voici la requête pour la 1.4 mais je vous conseille de faire une boucle en PHP et d'utiliser les fonctions à votre disposition.

D'autre part je vous conseille de considérer l'achat de ce module, par exemple : http://addons.prestashop.com/fr/bulk-update/5013-Mise-jour-des-prix-en-masse.html

Pour 40€ ça vous évitera bien des surprises ;)

 

INSERT INTO prefix_specific_price

(id_specific_price, id_product, id_shop, id_currency, id_country, id_group, price, from_quantity, reduction, reduction_type, `from`, `to`)

(SELECT NULL, id_product,0,0,0,0,'0.000000',1,10,'percentage','0000-00-00 00:00:00','0000-00-00 00:00:00'

from prefix_category_product where id_category IN (select id_category from prefix_category where id_parent = 'id de la categorie' GROUP BY id_category) GROUP BY id_product ) ;

 

prenez bien garde à contrôler vos groupes, id_currency, date de fin etc ...

Edited by Peuh (see edit history)
Link to comment
Share on other sites

merci pour les infos

j'ai essayé d'exécuter la première Requête mais ça ne marche pas

 

 

Update ps_product set reduction_percent = 10 , reduction_price = 00 reduction_from = '2012-07-12 14:00:00', reduction_to = '2012-07-17 00:00:00' where id_product in

(select id_product from ps_category_product where id_category IN (select id_category from ps_category where id_parent = '6' GROUP BY id_category) GROUP BY id_product )

 

et j'ai le message d'erreur suivant :

 

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'reduction_from = '2012-07-12 14:00:00', reduction_to = '2012-07-17 00:00:00' whe' at line

 

la requete je l'ai exécuté sur phpmyadmun

 

Edit : le problème vien de fait que j'ai oublié une , entre 00 et reduction_from :)

 

j'ai eu les résultats que je voulais j’espère que ça ne laissera pas une erreur invisible dans le système de fonctionnement de la boutique

Edited by miiidooo-19 (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...