如何发布插入表中的数组名称值?

时间:2017-08-10 03:17:50

标签: javascript php mysql

对于每个input,我有三个tr的不确定行。可能是10行,也许是100行,这取决于点击的按钮(onclick方法是addDvcPeople())。

这是我的SQL:

$query="insert into IDC (name,id,phone,cloudeid) VALUES (?,?,?,?)";
$stmt = $conn->prepare($query);

for($i=5;$i<10;$i++)
{   
  $stmt->execute(array($_POST['enName".$i."'],$_POST['enID".$i."'],$_POST['enPhone".$i."'],LAST_INSERT_ID()));
  ......
}

这是我的javascript代码:

function addDvcPeoplef()
{
    newrow = '<tr><td ><input  name="enName'+aDWI+'"></td><td ><input  name="enID'+aDWI+'"></td><td ><input name="enPhone'+aDWI+'"></td></tr>';
    $(newrow).insertAfter($('#staTable tr:eq('+aDWI+')'));
}

我的sql无法正常工作。我认为enName".$i."是错误的。而enName"+.$i.+"enName$i是错误的。谁能帮帮我?

3 个答案:

答案 0 :(得分:0)

$enName=$_POST['enName'.$i];
$enID=$_POST['enID'.$i];
$enPhone=$_POST['enPhone'.$i];

$stmt->execute(array($enName,$enID,$enPhone,LAST_INSERT_ID()));

尝试使用这种方式。这适用于我的情况。

答案 1 :(得分:0)

试试这个。改变这一行,

$stmt->execute(array($_POST['enName".$i."'],$_POST['enID".$i."'],$_POST['enPhone".$i."'],LAST_INSERT_ID()));

对此,

$stmt->execute(array($_POST["enName'.$i.'"],$_POST["enID'.$i.'"],$_POST["enPhone'.$i.'"],LAST_INSERT_ID()));

答案 2 :(得分:0)

您可以通过$_POST$_GET发送数组。这可能会使它更容易处理。我会这样做:

function addDvcPeoplef()
{
    newrow = '<tr><td ><input  name="IDC[' + aDWI + '][name]"></td><td ><input  name="IDC[' + aDWI + '][id]"></td><td ><input name="IDC[' + aDWI + '][phone]"></td></tr>';
    $(newrow).insertAfter($('#staTable tr:eq('+aDWI+')'));
}

然后你可以这样插入:

foreach($_POST['IDC'] as $aDWI => $data)
{
    $stmt->execute(array($data['name'], $data['id'], $data['phone'],   LAST_INSERT_ID()));
    ......
}