WooFrance Dépannage et support WordPress WooCommerce › Forums › Discussion générale › Requête sur woocomerce
- Ce sujet contient 10 réponses, 4 participants et a été mis à jour pour la dernière fois par
Guy, le il y a 8 années.
-
AuteurMessages
-
18 septembre 2017 à 15 h 03 min #5862
Bonjour,
Je cherche à obtenir la liste de toutes les personnes ayant acheté un produit spécifique.
Impossible de faire une requête de ce type directement dans woocomerce par les moyens de tri que le plugin propose… 🙁
Est-il possible d’obtenir ce listing depuis une requête SQL directement dans la BD ? Si oui à quoi ressemblerait cette requête ?
Merci de votre aide.
Have fun with WordPress18 septembre 2017 à 15 h 41 min #5863Bonjour,
pour la requête je ne sais pas, mais je penses que ce plugin répond à tes besoins :
Have fun with WordPress
18 septembre 2017 à 21 h 42 min #5864Bonsoir,
regardez ce plugin, il permet d’obtenir la liste de client par produit, en plus il est gratuit :
Have fun with WordPress
19 septembre 2017 à 11 h 35 min #5866Bonjour
Oui clairement c’est possible avec une simple requette sql.
Un développeur ne devrait pas avoir de mal a le faire. (Pas moi, désolé je ne suis pas développeur)
Have fun with WordPress1 user thanked author for this post.
19 septembre 2017 à 12 h 37 min #5867Je ne suis pas développeur mais je touche au SQL régulièrement dans mon taf, donc je vois comment faire. Le seul « hic » est l’organisation des tables que je n’arrive pas à « saisir »…
Merci de ta réponse !
Have fun with WordPress19 septembre 2017 à 19 h 41 min #5873Des plugins savent le faire et exporter en csv donc oui c’est possible. La difficulté c’est de trouver les bons paramètres parce que Woocommerce disperse les données dans plusieurs tables.
Je me suis servi d’une requête il y quelques mois pour extraire une partie des données, je vais voir si je la retrouve, ça pourrait peut-être te donner une piste.
Have fun with WordPressContent(e) de mon aide ? Vous pouvez m'offrir un café ! 🙂
Avant d'appeler à l'aide: Dépannage Woocommerce
1 user thanked author for this post.
19 septembre 2017 à 20 h 52 min #5874ah oui si jamais tu la retrouve je suis preneur 😉 Merci d’avance.
Jai vu le plugin… mais même pas sûr qu’il fasse exactement ce que je souhaite.. et impossible de tester sans payer 😦
Have fun with WordPress19 septembre 2017 à 21 h 39 min #5876J’ai 2 requêtes dont je m’étais servi pour arriver à mes fins. Ce n’était pas aussi précis que ce que je voulais mais à force ne manipulation sur le csv je m’en était sorti.
Mon but était différent donc ça ne doit pas coller tout à fait à ce que tu veux. Si tu es à l’aise avec SQL tu verras peut-être ce qu’il faut modifier.
J’étais toujours en version 2.x, comme la version 3 a modifié les tables tout ne correspond plus forcément, je n’ai pas retesté.Merci de revenir partager si tu trouves la solution 🙂
Requête 1:
SELECT *
FROM
nom-de-la-base.wp_postmeta
INNER JOIN
nom-de-la-base.wp_posts
ON nom-de-la-base.wp_posts.ID=nom-de-la-base.wp_postmeta.post_id
where nom-de-la-base.wp_posts.post_type = »shop_order »;Il faut évidemment changer « nom-de-la-base » et le préfixe des tables si nécessaire.
Requête 2:
SELECT
p.ID as order_id,
p.post_date,
p.post_status,
term.slug as order_status,
max( CASE WHEN pm.meta_key = ‘_order_tax’ and p.ID = pm.post_id THEN pm.meta_value END ) as order_tax,
max( CASE WHEN pm.meta_key = ‘_order_total’ and p.ID = pm.post_id THEN pm.meta_value END ) as order_total,
max( CASE WHEN pm.meta_key = ‘_billing_email’ and p.ID = pm.post_id THEN pm.meta_value END ) as billing_email,
max( CASE WHEN pm.meta_key = ‘_billing_first_name’ and p.ID = pm.post_id THEN pm.meta_value END ) as _billing_first_name,
max( CASE WHEN pm.meta_key = ‘_billing_last_name’ and p.ID = pm.post_id THEN pm.meta_value END ) as _billing_last_name,
max( CASE WHEN pm.meta_key = ‘_billing_address_1’ and p.ID = pm.post_id THEN pm.meta_value END ) as _billing_address_1,
max( CASE WHEN pm.meta_key = ‘_billing_address_2’ and p.ID = pm.post_id THEN pm.meta_value END ) as _billing_address_2,
max( CASE WHEN pm.meta_key = ‘_billing_city’ and p.ID = pm.post_id THEN pm.meta_value END ) as _billing_city,
max( CASE WHEN pm.meta_key = ‘_billing_state’ and p.ID = pm.post_id THEN pm.meta_value END ) as _billing_state,
max( CASE WHEN pm.meta_key = ‘_billing_postcode’ and p.ID = pm.post_id THEN pm.meta_value END ) as _billing_postcode,
max( CASE WHEN pm.meta_key = ‘_shipping_first_name’ and p.ID = pm.post_id THEN pm.meta_value END ) as _shipping_first_name,
max( CASE WHEN pm.meta_key = ‘_shipping_last_name’ and p.ID = pm.post_id THEN pm.meta_value END ) as _shipping_last_name,
max( CASE WHEN pm.meta_key = ‘_shipping_address_1’ and p.ID = pm.post_id THEN pm.meta_value END ) as _shipping_address_1,
max( CASE WHEN pm.meta_key = ‘_shipping_address_2’ and p.ID = pm.post_id THEN pm.meta_value END ) as _shipping_address_2,
max( CASE WHEN pm.meta_key = ‘_shipping_city’ and p.ID = pm.post_id THEN pm.meta_value END ) as _shipping_city,
max( CASE WHEN pm.meta_key = ‘_shipping_state’ and p.ID = pm.post_id THEN pm.meta_value END ) as _shipping_state,
max( CASE WHEN pm.meta_key = ‘_shipping_postcode’ and p.ID = pm.post_id THEN pm.meta_value END ) as _shipping_postcode,
max( CASE WHEN pm.meta_key = ‘_paid_date’ and p.ID = pm.post_id THEN pm.meta_value END ) as paid_date,
( select group_concat( order_item_name separator ‘|’ ) from wp_woocommerce_order_items where order_id = p.ID ) as order_items
FROM
wp_posts p JOIN wp_postmeta pm
LEFT JOIN wp_term_relationships AS rel ON p.ID = rel.object_ID
LEFT JOIN wp_term_taxonomy AS tax USING( term_taxonomy_id )
LEFT JOIN wp_terms AS term USING( term_id )
WHERE
post_type = ‘shop_order’ AND
post_status = ‘publish’ AND
tax.taxonomy = ‘shop_order_status’ AND
term.slug = ‘completed’ AND
p.ID = pm.post_id AND
post_date BETWEEN ‘2015-01-01’ AND ‘2016-01-31’
GROUP BY
p.post_date ASCHave fun with WordPressContent(e) de mon aide ? Vous pouvez m'offrir un café ! 🙂
Avant d'appeler à l'aide: Dépannage Woocommerce
20 septembre 2017 à 8 h 24 min #5878Ouch belles requêtes ^_^
Je regarde à partir de cela si j’arrive à mes fins 😉
Si c’est concluant je reviens poster ici la solution.
Merci !
Have fun with WordPress20 septembre 2017 à 14 h 31 min #5886Je viens de trouver un plugin gratuit qui me fait un export CSV quasi parfait : Advanced Order Export For WooCommerce 😉
Merci pour l’aide et vos réponses.
Have fun with WordPress20 septembre 2017 à 15 h 40 min #5888C’est ce que j’avais dit, des plugins font ça très bien 😉
Par contre je ne connaissais pas celui-là, il semble déjà assez complet dans sa version gratuite mais en plus la version Pro est à prix fort correct. Merci de l’avoir repéré.
Have fun with WordPressContent(e) de mon aide ? Vous pouvez m'offrir un café ! 🙂
Avant d'appeler à l'aide: Dépannage Woocommerce
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.