Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak zapisać wiele wejść wierszy w tej samej kolumnie bazy danych?

Użyj wielu danych wejściowych o takiej samej nazwie, jak ta

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

W ten sposób dane zostaną przesłane w postaci tablicy.Zakładając, że wszystkie dane wejściowe/wybór muszą zostać wypełnione przez użytkownika

W swoim kontrolerze możesz zrobić coś takiego

$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

Mam nadzieję, że to pomoże.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego mysql_query() zwraca TRUE z instrukcją SELECT?

  2. Wydajność MySQL – 5 parametrów z pliku konfiguracyjnego

  3. Kolejność MySQL według duplikatów najpierw na górze

  4. 500 - Wystąpił błąd – funkcja DB nie zgłasza błędów podczas dodawania nowego artykułu w Joomla

  5. Używaj instrukcji PDO wiele razy, gdy używasz wielu pętli foreach