मैंने एक इंटरफ़ेस बनाया जिसमें उपयोगकर्ता चुन सकता है कि कौन से परिणाम प्रदर्शित किए जा रहे हैं। उपयोगकर्ता द्वारा चुने गए विकल्प सरणी में सहेजे गए हैं, इसलिए MySQL क्वेरी इस सरणी के विभिन्न तत्वों के माध्यम से जाती है।MySQL परिणामों को एक ही तालिका में प्रदर्शित करना
तो मैं एक एकल तालिका में परिणाम प्रदर्शित करना चाहते हैं ... कुछ इस तरह:
हैडर 1 | हैडर 2
परिणाम 1-1 | परिणाम 1-2
परिणाम 2-1 | परिणाम 2-2
और मेरे कोड निम्नलिखित है:
$mark = $_POST['mark'];
if (isset($_POST['mark']) && is_array($_POST['mark'])) {
echo "<table border='1'>";
echo "<tr>";
for ($i = 0; $i < count($mark); $i++) {
echo "<th>" . $mark[$i] . "</th>";
}
echo "</tr>";
for ($i = 0; $i < count($mark); $i++) {
$markQuery = "SELECT $mark[$i] FROM marks LIMIT 10";
$result = mysqli_query($DB_connection, $markQuery);
echo "<tr>";
while($row= mysqli_fetch_assoc($result)){
echo "<td>" . $row[$mark[$i]] . "</td>";
}
echo "</tr>";
}
echo "</table>";
}
मैं अगर दूसरे पाश एक अच्छा विचार है के बारे में निश्चित नहीं हूँ, लेकिन मैं नहीं जानता कि मैं क्या परिणाम प्रदर्शित करने के लिए क्या करना चाहिए जैसा मुझे चाहिए।
मुझे पता है कि यह अपने प्रश्न का उत्तर नहीं है, लेकिन अपने कोड एसक्यूएल इंजेक्शन के लिए असुरक्षित है के रूप में आप किसी SQL बयान के अमान्य इनपुट डाल दिया और यह XSS हमलों के लिए असुरक्षित है, क्योंकि HTML के लिए आप उत्पादन अमान्य उपयोगकर्ता इनपुट जो लक्षित वेबपृष्ठ में किसी जावास्क्रिप्ट कोड को लिखने के लिए इस्तेमाल किया जा सकता है। – eX0du5
आपको हर बार डेटाबेस से पूछताछ नहीं करना चाहिए कि यह कुशल तरीका नहीं है। इसके बजाय मैं 'टाइप' नामक एक नया कॉलम जोड़ूंगा, तालिका से सभी रिकॉर्ड्स प्राप्त करूँगा और फिर इसे PHP के प्रयोग से नए कॉलम द्वारा फ़िल्टर करें। – czeski