Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да запишете множество въвеждане на редове в една и съща колона на базата данни?

Използвайте няколко входа с едно и също име като това

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

По този начин данните ще бъдат публикувани под формата на масив. Ако приемем, че всички входове/селекция трябва да бъдат попълнени от потребителя

Във вашия контролер можете да направите нещо подобно

$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

Надявам се това да помогне.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да изброя същите идентификационни данни с while цикъл в PHP?

  2. Как мога да тествам моя пример за инжектиране на PHP MySQL?

  3. Код за конфигурация на CodeIgniter и поддръжка на UTF-8

  4. Как да се свържа с Mysql с помощта на C#?

  5. Грешка при добавяне на външен ключ