Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL के माध्यम से लूपिंग PHP बनाम 2 अलग-अलग प्रश्नों में शामिल हों

एक प्रश्न ठीक है। जैसा कि आपके पास है, और शायद बेहतर विकल्प। MySQL को तनाव लेने देने के लिए, या नेटवर्क और PHP को तनाव लेने देने के लिए आपको अधिक कुशल काम करना होगा। PHP को MySQL की तुलना में तनाव लेने देना बहुत बेहतर है, लेकिन जहां MySQL में "इनबिल्ट" विशेषताएं हैं, जैसे कि आप जो समूह बनाना चाहते हैं, फिर MySQL को छोड़ दें और नेटवर्क ट्रैफ़िक को बचाएं।

यह काम करने के लिए:अपनी क्वेरी में "ऑर्डर बाय p.post_id, pc.comment_id" जोड़ें - इससे परिणाम क्रम में मिलते हैं।

फिर, यदि आपको एक सरणी में निर्माण करना है (हालाँकि आप किसी सरणी का उपयोग किए बिना सीधे संसाधित करने में सक्षम हो सकते हैं, तो विधि समान होगी):

$lastPostID = 0;
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    if ($lastPostID <> $row['post_id']) {
        $lastPostID  = $row['post_id'];
        $answers[$lastPostID] = array('post_id' => $row['post_id'],
                                      'author_id' => $row['author_id'],
                                      etc
                                      'comments' => array() );
    }
    $answers[$lastPostID]['comments'][] = array('comment_id' => $row['comment_id'], 'coment' => $row['comment'] etc);
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं MySQLdb को स्थापित करने के लिए Conda का उपयोग कैसे कर सकता हूं?

  2. दो कॉलम mysql . से संयोजन की स्थिति

  3. मेरे MySQL डेटाबेस में वर्तमान में चल रहे प्रश्नों की जांच कैसे करें?

  4. कैसे जांचें कि मेरे PHP पर SimpleXML स्थापित है या नहीं?

  5. त्रुटि तालिका में परिवर्तन, बाधा विदेशी कुंजी जोड़ने में त्रुटि हो रही है एक बच्चे की पंक्ति को जोड़ या अपडेट नहीं कर सकता