sql >> Databáze >  >> RDS >> Mysql

Jak uložit více vstupů řádků ve stejném sloupci databáze?

Použijte více vstupů se stejným názvem, jako je tento

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

Tímto způsobem budou data odeslána ve formě pole. Za předpokladu, že všechny vstupy/výběr musí vyplnit uživatel

Ve vašem ovladači můžete udělat něco takového

$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

Doufám, že to pomůže.




  1. Jak dynamicky používat více databází pro jeden model v CakePHP

  2. Vraťte název místního serveru v SQL Server s @@ SERVERNAME

  3. Chyba:Vypršel časový limit nečinnosti handshake v Node.js v6.9.1 a MySQL

  4. Třídění v MySQL pomocí pořadí podle klauzule