Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để lưu nhiều đầu vào của các hàng trong cùng một cột cơ sở dữ liệu?

Sử dụng nhiều đầu vào có cùng tên như thế này

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

Bằng cách này, dữ liệu sẽ được đăng dưới dạng một mảng, giả sử rằng tất cả các đầu vào / lựa chọn được người dùng yêu cầu điền vào

Trong bộ điều khiển của mình, bạn có thể thực hiện một số việc như thế này

$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

Hy vọng điều này sẽ hữu ích.




  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:Trường NULL sử dụng bao nhiêu dung lượng?

  2. Làm thế nào để chuyển đổi giá trị datetime của MySQL sang google chart api datetime

  3. Nhập lược đồ MySQL sang Xcode dưới dạng Mô hình dữ liệu CoreData

  4. Tạo cây dựa trên Độ sâu từ Dữ liệu phân cấp trong MySQL (không có CTE)

  5. Lưu trữ thẻ trong cơ sở dữ liệu. Lưu trữ thẻ một lần hay nhiều lần?