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

एकाधिक फ़ील्ड से बहुआयामी सरणी का उपयोग करके डेटा सम्मिलित करें

अपडेट करें

(वाह, यह एक कठिन है):आप अपने सभी इनपुट फ़ील्ड को अपने 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() कार्य!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में पैरेंट-चाइल्ड मॉडल में गहराई की गणना करें

  2. मैं एक MySQL तालिका में कॉलम के आकार को कैसे संशोधित कर सकता हूं?

  3. MySQL FULLTEXT काम नहीं कर रहा है

  4. MySQL में टाइमपैन द्वारा डेटा एकत्र करना

  5. mysql लोड डेटा/mysqlimport के प्रदर्शन में सुधार?