मैं इस के साथ थोड़ी देर के लिए संघर्ष कर रहा हूं; मैं इसे यथासंभव सरल समझाने की कोशिश करूंगा।एकाधिक MySQL तालिकाओं से एकल HTML तालिका
+----------+-----------+---------+--------+
|status_id |session_id |pilot_id |present |
+----------+-----------+---------+--------+
|1 |61 |901 |1 |
|2 |63 |901 |1 |
|3 |62 |901 |0 |
|4 |62 |902 |1 |
|5 |63 |903 |1 |
+----------+-----------+---------+--------+
दोनों session_id
और pilot_id
विदेशी एक और तालिका में एक प्राथमिक कुंजी के संदर्भ बनाने चाबियाँ हैं:
इस MySQL तालिका पर विचार करें। एक ही pilot_id
को विभिन्न session_id
से जोड़ा जा सकता है, लेकिन प्रत्येक pilot_id
- session_id
संयोजन अद्वितीय है।
मैं एक HTML तालिका बनाने के लिए (PHP में) है कि इस तरह के डेटा को प्रदर्शित होगा की जरूरत है:
+----------+---------+---------+---------+
| |61 |62 |63 |
+----------+---------+---------+---------+
|901 |X | |X |
|902 | |X | |
|903 | | |X |
+----------+---------+---------+---------+
इसलिए, पंक्तियों pilot_id
हैं और स्तंभों session_id
हैं। जब pilot_id
- session_id
संयोजन में present
1 का मान है, तो इसी सेल को चेक किया जाना चाहिए। (यानी जब पंक्ति संयोजन शून्य है या संयोजन MySQL तालिका में मौजूद नहीं है, तो HTML तालिका में कुछ भी नहीं दिखना चाहिए)
पुhew।
कोई विचार?
धन्यवाद!
मैंने एरिस्को द्वारा प्रस्तावित उत्तर की कोशिश की है, लेकिन मैं काफी उलझन में हूं। (टिप्पणी क्षेत्र मेरे स्पष्टीकरण के लिए बहुत छोटा है, इसलिए मेरे प्रश्न के लिए यह अद्यतन)।
+----------+-----------+---------+--------+
|status_id |session_id |pilot_id |present |
+----------+-----------+---------+--------+
|7 |65 |33 |1 |
|8 |66 |33 |1 |
|9 |65 |17 |0 |
|10 |66 |16 |1 |
+----------+-----------+---------+--------+
मैं $rows = mysqli_fetch_array($result);
का उपयोग करें:
यह वास्तविक डेटा के साथ मैं काम कर रहा हूँ है। मैंने पुष्टि की है कि क्वेरी सही डेटा लौट रही है।
हालांकि, जब मैं एरिक्सो द्वारा प्रस्तावित उत्तर का उपयोग करता हूं, तो मुझे लगता है कि मनमाने ढंग से डेटा मिल रहा है। यहाँ उत्पन्न HTML तालिका है:
+----------+---------+---------+---------+---------+
| |1 |3 |6 |7 |
+----------+---------+---------+---------+---------+
|1 |X | | | |
|3 | | | | |
|6 | | | | |
|7 | | | | |
+----------+---------+---------+---------+---------+
इसके अलावा 'एक्स' स्थिति रहता present
मूल्यों के अप्रासंगिक ही।
कोई विचार यह क्यों हो रहा है?
धन्यवाद!
यदि आप बनाम $ पंक्तियाँ मैं अपने $ पंक्तियों var_dump'd, तो आप शायद मतभेद देखना चाहते हैं: $ पंक्तियों यह मानकर अपने डेटा डेटाबेस से वापस ले लिया का स्वरूप है। मैं '$ पंक्तियों = mysqli_fetch_all ($ परिणाम, MYSQLI_ASSOC) का उपयोग करने का प्रयास करूंगा;' – erisco
आह, हाँ। मैं देखता हूं कि कुछ गलत है।जब मैं mysqli_fetch_assoc का उपयोग मैं: सरणी (4) { [ "status_id"] => स्ट्रिंग (1) "7" [ "pilot_id"] => स्ट्रिंग (2) "33" [ "session_id"] => स्ट्रिंग (2) "65" ["वर्तमान"] => स्ट्रिंग (1) "1"} जो केवल पहली पंक्ति है ... वह क्यों है? वैसे भी, $ पंक्तियां = mysqli_fetch_all ($ परिणाम, MYSQLI_ASSOC) काम नहीं करता है, हालांकि ... (जो मैंने गुगल किया है, मेरे पास माइस्क्लंड नहीं है - जिसे मैं अपने साझा सर्वर पर इंस्टॉल नहीं कर सकता)। यहां त्रुटि है: घातक त्रुटि: अपरिभाषित फ़ंक्शन mysqli_fetch_all() पर कॉल करें। धन्यवाद! –
मैंने अभी यह कर लिया है: $ पंक्तियां = सरणी(); जबकि ($ rawRow = mysqli_fetch_assoc ($ परिणाम)) { $ पंक्तियां [] = $ rawRow; } –