3 sujets de 1 à 3 (sur un total de 3)
  • Auteur
    Messages
  • #52784
    kawou
    Participant
    Points: 27 pts
    Membre 2 étoiles

    bonjour chères professionnelles de wordpress humblement voici mon problème:

    pour des besoins de comptabilité, je voudrais avoir la liste des commandes par catégorie de produit.

    voici ma requête N°1 qui me permet de récupérer  la liste des produits par catégorie

    SELECT p.ID
    FROM wp_posts p
    JOIN wp_term_relationships wtr ON p.ID = wtr.object_id
    JOIN wp_term_taxonomy wtt ON wtt.term_taxonomy_id = wtr.term_taxonomy_id
    JOIN wp_terms wt ON wt.term_id = wtt.term_id
    where wt.slug = ‘nom_cat’
    order by p.ID DESC;

    voici la requête N°2 qui récupère la liste des commandes bien terminées

    SELECT p.ID,p.post_date as ‘date_achat’,oi.order_item_name as ‘produit’, pm.meta_value as ‘payer_par’, oim1.meta_value as ‘quantite’, oim2.meta_value as ‘montant_total’
    FROM wp_posts p
    JOIN wp_postmeta pm on p.ID = pm.post_id
    JOIN wp_woocommerce_order_items oi on p.ID = oi.order_id
    JOIN wp_woocommerce_order_itemmeta oim1 on oi.order_item_id = oim1.order_item_id
    JOIN wp_woocommerce_order_itemmeta oim2 on oi.order_item_id = oim2.order_item_id
    WHERE pm.meta_key = ‘_payment_method’
    and oim1.meta_key = ‘_qty’ and oim2.meta_key = ‘_line_total’
    and p.post_type = ‘shop_order’
    and p.post_status = ‘wc-completed’
    and oi.order_item_type = ‘line_item’
    and p.post_date BETWEEN ‘date_debut’ AND ‘date_fin’
    ORDER BY p.post_date DESC

    mais je ne sais pas comment jumeler les deux requêtes pour avoir le résultat  souhaité. les paramètres sont nom_cat, date_debut, date_fin.

    voici ce que j’ai essayer de faire mais ça ne marche pas:

    SELECT p.ID,p.post_date as ‘date_achat’,oi.order_item_name as ‘produit’, pm.meta_value as ‘payer_par’, oim1.meta_value as ‘quantite’, oim2.meta_value as ‘montant_total’
    FROM wp_posts p
    JOIN wp_postmeta pm on p.ID = pm.post_id
    JOIN wp_woocommerce_order_items oi on p.ID = oi.order_id
    JOIN wp_woocommerce_order_itemmeta oim1 on oi.order_item_id = oim1.order_item_id
    JOIN wp_woocommerce_order_itemmeta oim2 on oi.order_item_id = oim2.order_item_id
    WHERE pm.meta_key = ‘_payment_method’
    and oim1.meta_key = ‘_qty’ and oim2.meta_key = ‘_line_total’
    and p.post_type = ‘shop_order’
    and p.post_status = ‘wc-completed’
    and oi.order_item_type = ‘line_item’
    and p.post_date BETWEEN ‘2016-01-01’ AND ‘2018-01-31’
    and p.ID IN( je mets la requête N° 1)
    ORDER BY p.post_date DESC

    mais les ID que me renvoi la sous requête sont pas compatible et du coup toute la requête ne revoit aucune ligne.

    s’il vous plait aider moi. sur chacune de ces 3 requêtes pour que je puis avoir le résultat (la liste des commandes par catégorie pour une période donnée)

    depanagewp
    #52791
    Mathieu
    Participant
    Points: 1,315 pts
    Membre 2 étoiles

    je vous conseille d’utiliser les fonctions de WooCommerce au lieu d’un accès direct à la base de données car la structure des données peut changer dans les prochaines versions.

    pour commencer vous pouvez utiliser la fonction wc_get_orders pour obtenir les commandes sur une période donnée :
    https://github.com/woocommerce/woocommerce/wiki/wc_get_orders-and-WC_Order_Query#date

    Développeur PHP et WordPress En Alsace dans l'annuaire des prestataires WordPress et WooCommerce
    Création d'extensions pour WordPress et WooCommerce - Personnalisation d'extensions existantes
    🔶 Si vous appréciez mon aide, vous pouvez me faire un don de n'importe quel montant en cliquant ici.

    depanagewp
    #52848
    kawou
    Participant
    Points: 27 pts
    Membre 2 étoiles

    merci bien cette fonction, mais je n’envisage pas de suivre l’évolution de woocommerce.

    depanagewp
3 sujets de 1 à 3 (sur un total de 3)
  • Vous devez être connecté pour répondre à ce sujet.