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

Bagaimana cara menyimpan banyak input baris di kolom database yang sama?

Gunakan beberapa input dengan nama yang sama seperti ini

<input name="TitleText[]" />
<select name="ReadingText[]" >
...
<select name="langWrittingText[]">
...
<select name="SpeakingText[]">
...

Dengan cara ini data akan diposting dalam bentuk array. Dengan asumsi bahwa semua input/pilihan harus diisi oleh pengguna

Di pengontrol Anda, Anda dapat melakukan sesuatu seperti ini

$count = count($input['TitleText']); // here we will know how many entries have been posted
$languages = array();
for($i=0; $i<$count; $i++){
   if(!empty($input['TitleText'][$i])){
     array_push($languages, array( // iterate through each entry and create an array of inputs
      'title' => $input['TitleText'][$i], 
      'reading' => $input['ReadingText'][$i], 
      'writting' => $input['WrittingText'][$i],
      'speaking' => $input['SpeakingText'][$i]
     ));
   }
}
Languages::insert($languages); // save the array of models at once

Semoga membantu.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan sintaks SQL

  2. Penguraian email dan arsitektur pemrosesan

  3. Bagaimana cara memformat tanggal dari stempel waktu di PHP?

  4. mysql:merujuk ke kolom dengan angka

  5. Pemisahan string MySQL