Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Masukkan data menggunakan array multidimensi dari berbagai bidang

PERBARUI

(Wow, itu yang sulit):Anda mendefinisikan semua bidang input Anda dalam formulir HTML Anda sebagai array. Anda dapat menghapus [] yang menjadikannya array atau Anda dapat menggunakan name=insp[] di insp . Anda -kotak centang. Kemudian output kiriman Anda dengan var_dump($_POST) dan Anda melihat bagaimana Anda dapat mengurai array.

Atau buat array bersarang. Sesuatu seperti ini akan membantu:

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";
}

Tidak mudah untuk membantu tanpa melihat kode formulir HTML. Tapi menurut saya, $ID kemungkinan besar bukan array. Jadi gunakan foreach($ID as ...) tidak baik. Sebagai gantinya, buat string Anda seperti ini:

$query = "INSERT INTO `inspect` (`ID`,`a`,`b`,`c`,`d`,`e`,`f`,`g`) VALUES ";
$query .= "({$ID}, {$a}, {$b}, {$c}, {$d}, {$e}, {$f}, {$g})";

Peringatan:
Perhatikan bahwa kode Anda tidak aman dan rentan terhadap injeksi SQL (lihat Tanya Jawab SO ini ). Gunakan pernyataan yang disiapkan PDO bukannya mysql() fungsi!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengganti atribusi kunci utama yang bertambah otomatis saat memasukkan nilai dalam tabel MySQL?

  2. Bisakah Anda membantu mengubah kueri atau kueri lain untuk mendapatkan hasil yang diharapkan?

  3. Coba lagi di kebuntuan untuk MySQL / SQLAlchemy

  4. MySQL - bagaimana kode pos pad depan dengan 0?

  5. Tidak dapat mengonversi nilai tanggal/waktu MySQL ke System.DateTime