一次更新多行

时间:2012-08-22 09:36:05

标签: php mysql

我有这个代码允许我将数据库中的所有数据显示为textarea,我需要通过单击更新按钮来更新它们!

基于这个,应该让我编辑它们,但是当我点击提交时它不会......

<form name="form1" method="post" action="">
<tr>
<td>
<table width="500" border="0" cellspacing="1" cellpadding="0">

<tr>
<td align="center"><strong>Id</strong></td>
<td align="center"><strong>Name</strong></td>
<td align="center"><strong>Lastname</strong></td>
<td align="center"><strong>Email</strong></td>
</tr>

<?php
    while($rows=mysql_fetch_array($result)){
?>

<tr>
    <td align="center">
        <? $id[]=$rows['id']; ?>
        <? echo $rows['id']; ?>
    </td>
    <td align="center">
        <input name="name[]" type="text" id="name" value="<? echo $rows['name']; ?>">
    </td>
    <td align="center">
        <input name="lastname[]" type="text" id="lastname" value="<? echo $rows['lastname']; ?>">
    </td>
    <td align="center">
        <input name="email[]" type="text" id="email" value="<? echo $rows['email']; ?>">
    </td>
</tr>

<?php
    }
?>

<tr>
    <td colspan="4" align="center">
        <input type="submit" name="Submit" value="Submit"/>
    </td>
</tr>
</table>
</td>
</tr>
</form>
</table>

<?php

// Check if button name "Submit" is active, do this
if($Submit)
{
    for($i=0;$i<$count;$i++)
    {
        $sql1="UPDATE $tbl_name SET name='$name[$i]', lastname='$lastname[$i]', email='$email[$i]' WHERE id='$id[$i]'";
        $result1=mysql_query($sql1);
    }
}

if($result1)
{
    header("location:update_multiple.php");
}

3 个答案:

答案 0 :(得分:0)

是的,因为你忘记了你的身份

<? $id[]=$rows['id']; ?>无法像那样传递

<input type="hidden" name="id[]" value ="<?php echo $rows['id']; ?>" /><? echo $rows['id']; ?>

和脚本if($Submit){应为if($_POST['Submit'] != ''){

答案 1 :(得分:0)

您没有在帖子中定义$Submit,因此{ ... }中的内容永远不会被执行。

您应该尝试使用以下内容进行更新:

if(isset($_POST[$name]))
{
// update stuff
}

在你的代码中,因为if语句永远不会执行,所以$ result永远不会被设置,因此用户不会被重定向 - 它每次只会显示相同的页面。

答案 2 :(得分:0)

要检查点击按钮时是否发生帖子应设置如下:

<form>标记中添加以下内容

<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 

最后,在哪里检查按钮是否被点击:

if(isset($_POST['Submit'])) { 

//Update fields

}

请记住,提交按钮名称字段在php

中区分大小写