对于每个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
是错误的。谁能帮帮我?
答案 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()));
......
}