अपडेट करें
(वाह, यह एक कठिन है):आप अपने सभी इनपुट फ़ील्ड को अपने HTML फॉर्म में सरणी के रूप में परिभाषित कर रहे हैं। आप या तो उन []
को हटा सकते हैं जो उन्हें सरणियाँ बनाता है या आप उपयोग कर सकते हैं name=insp[]
आपके insp
. पर -चेकबॉक्स। फिर अपना सबमिशन var_dump($_POST)
. के साथ आउटपुट करें और आप देखते हैं कि आप सरणी को कैसे पार्स कर सकते हैं।
या एक नेस्टेड सरणी बनाएं। कुछ इस तरह मदद करेगा:
while($row = mysqli_fetch_assoc($result)) {
extract($row);
echo "<tr>\n
<td><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][id]' /></td>\n
<td><center>{$scaffreq_id}</center></td>\n
<td><center>{$level} m</center></td>\n
<td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][a]' /></center></td>\n
<td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][b]' /></center></td>\n
<td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][c]' /></center></td>\n
<td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][d]' /></center></td>\n
<td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][e]' /></center></td>\n
<td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][f]' /></center></td>\n
<td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][g]' /></center></td>\n
<td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][h]' /></center></td>\n
<td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][i]' /></center></td>\n
<td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][j]' /></center></td>\n
<td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][k]' /></center></td>\n
<td><center><input type='checkbox' checked='checked' name='items[{$scaffreq_id}][insp][l]' /></center></td>\n
<td><center><p><input type='text' name='items[{$scaffreq_id}][reason]' maxlength='255' size='45' value='Reason{$insp_reason}'></p></center></td>\n
</tr>\n";
}
HTML फॉर्म कोड देखे बिना मदद करना आसान नहीं है। लेकिन जैसा मुझे लगता है, $ID
सबसे अधिक संभावना है कि एक सरणी नहीं है। तो foreach($ID as ...)
. का उपयोग करना अच्छा नहीं है। इसके बजाय, अपनी स्ट्रिंग इस तरह बनाएं:
$query = "INSERT INTO `inspect` (`ID`,`a`,`b`,`c`,`d`,`e`,`f`,`g`) VALUES ";
$query .= "({$ID}, {$a}, {$b}, {$c}, {$d}, {$e}, {$f}, {$g})";
चेतावनी:
ध्यान रखें कि आपका कोड असुरक्षित है और SQL इंजेक्शन के लिए असुरक्षित है (देखें यह SO Q&A
) पीडीओ तैयार स्टेटमेंट
का इस्तेमाल करें इसके बजाय mysql()
कार्य!