2012-03-26 7 views
12

मुझे एक प्रश्न मिला। मैं अपनी स्थिति का वर्णन करने की कोशिश करूंगा:mysql डेटाबेस से उत्पादडेटा प्राप्त करने की आवश्यकता

मुझे एक वर्डप्रेस इंस्टॉलेशन मिला जिसमें मैंने कोडिनेटर स्थापित किया था। यह सब अच्छा हो गया है और मुझे डेटाबेस तक पहुंच भी मिली है। अब मेरे पास वर्डप्रेस नामक एक प्लगइन स्थापित है: Woocommerce। इस प्लगइन के साथ आप अपने डेटाबेस में उत्पादों और productdata स्टोर कर सकते हैं। अब मुझे कोडइनिटर एप्लिकेशन के भीतर अपने woocommerce उत्पादों से डेटा तक पहुंचने की आवश्यकता है।

Woocommerce इस तरह अपने उत्पादों को संग्रहीत करता है:

सभी उत्पादों एक मेज कहा जाता है में चला जाता है: post_type Woocommerce उत्पादों के रूप में पदों की पहचान करता है जब post_type के उत्पाद [सेट है: wp_posts इस तालिका में एक स्तंभ परिभाषित कहा जाता है ओह!]।

अब wp_postmeta नामक एक और तालिका है। इस तालिका में सभी उत्पाद डेटा 4 कॉलम में संग्रहीत हो जाते हैं: 1. मेटा_आईडी [मेटारो के लिए पहचानकर्ता] 2. post_id [wp_posts तालिका में स्वयं को पहचानता है] 3. मेटा_की [इसमें कई कुंजियां होंगी जैसे: sale_price, शेयर, additional_price आदि ..] 4. meta_value [प्रत्येक कुंजी के लिए एक मूल्य है।]

तालिका में wp_postmeta मैं उनके मूल्यों के साथ सभी meta_keys सुलझाने के लिए की जरूरत है उत्पाद एक meta_key = '_ rentable मिला 'और meta_value =' yes '। तो यदि यह सत्य है, तो मुझे अन्य सभी मेटा_की और मान प्राप्त करने होंगे जहां post_id किराए पर लेने योग्य उत्पाद के समान है। मुझे आशा है कि मैं किसी को भी भ्रमित नहीं था ... अभी के लिए मैं इस क्वेरी मिल गया: _rentable और मूल्य::

$sql = "SELECT p.id, p.post_title, p.guid, p.post_type, m.meta_key, m.meta_value 
      FROM wp_posts p 
      INNER JOIN wp_postmeta m 
      WHERE p.id=m.post_id 
      AND m.meta_key='_rentable' AND m.meta_value='yes' 
      "; 

यह केवल meta_key रिटर्न हाँ .. लेकिन मैं यह भी कहा कि की कीमत प्राप्त करने की आवश्यकता उत्पाद।

उत्तर

10

ऐसा लगता है कि आप एक ही टेबल में विभिन्न पंक्तियों से डेटा के कई टुकड़े प्राप्त करने का प्रयास कर रहे हैं, जिसका अर्थ है कि आपको एक से अधिक जुड़ने की आवश्यकता है। क्या यह आपको वह मिलता है जो आप खोज रहे हैं?

$sql = "SELECT p.id, p.post_title, p.guid, p.post_type, m.meta_key, m.meta_value, meta_sp.meta_value as sale_price, meta_ap.meta_value as additional_price 
     FROM wp_posts p 
     INNER JOIN wp_postmeta m 
     INNER JOIN wp_postmeta meta_sp ON p.id=meta_sp.post_id 
      AND meta_sp.meta_key='sale_price' 
     INNER JOIN wp_postmeta meta_ap ON p.id=meta_ap.post_id 
      AND meta_ap.meta_key='additional_price' 
     WHERE p.id=m.post_id 
     AND m.meta_key='_rentable' AND m.meta_value='yes' 
     "; 
+0

आपको बहुत बहुत धन्यवाद! उसने जादू की तरह काम किया। –

संबंधित मुद्दे