sql >> Databasteknik >  >> RDS >> Mysql

Hur man infogar dynamisk tabellradsdata i databasen på en gång

Det finns några saker här som kommer att göra ditt liv enklare om det ändras.

Indataelement med samma namn kommer att skickas som en array, i den ordning de visas. Standardproceduren är att layouta din html som så (några fält har tagits bort för korthetens skull);

<td><td><input name=timestart><input name=timeend><input name=tasks></td></tr>
<td><td><input name=timestart><input name=timeend><input name=tasks></td></tr>
<td><td><input name=timestart><input name=timeend><input name=tasks></td></tr>
... etc

Detta kommer att ge dig en inläggsstruktur som;

Array
(
[timestart] => Array
    (
        [0] => timestart 1
        [1] => timestart 2
        [2] => timestart 3
    )

[timeend] => Array
    (
        [0] => timeend 1
        [1] => timeend 2
        [2] => timeend 3
    )

[task] => Array
    (
        [0] => task 1
        [1] => task 2
        [2] => task 3
));

Och infoga med;

$timestart = $_POST['timestart'];
$timeend = $_POST['timeend'];
$task = $_POST['task'];

for($i=1 ; $i < count($timestart) ; $i++)
{
    $sql = "INSERT INTO TSTable VALUES($timestart[$i],$timeend[$i],$task[$i]);"
    ... more code goes here..
}



  1. SQL UPPDATERING:Lär dig hur du uppdaterar värden i en tabell

  2. hur man konverterar en skrivskyddad viloläge till att skriva under en transaktion (Master/Slave DB)

  3. Finns det något sätt att fånga MySQL- och databasfel i PHP?

  4. Installera mysql-adapter 'gem install activerecord-mysql-adapter'