0

我写了一段代码来根据勾选的复选框进行多行删除。现在我需要修改它以进行多行更新。我一直无法访问每一行的文本框值。

一般来说,这是我的代码。

<?php
if (isset($_POST["SaveComments"])  && isset($_POST["SaveEachComment"]))
{
    while(list($key, $val) = each($_POST["SaveEachComment"]))
    {
        if($val == 'commentbox')
        {

            // do the update here. $val contains the ID
        }
    }
}
?>

<form id="form1" name="form1" method="post" action="test.php">
    <input type="checkbox" <?php echo 'name="SaveEachComment['.$row["comment"].']" ';?> value="commentbox" id="commentbox" />
    <input type="text" name="rowcomment" size="55" value="<?php echo $comment;?>" />
    <input type="submit"   name="SaveComments" value="submit"  />
</form>
4

1 回答 1

1

我刚刚添加了一个for循环来打印多个表单字段。显然,您的迭代将与行数一样多,因此您可以更改该部分代码。但是试试这个:

<?php
if (isset($_POST["SaveComments"])  && isset($_POST["SaveEachComment"]))
{
    while(list($key, $val) = each($_POST["SaveEachComment"]))
    {
        if($val == 'commentbox')
        {
                echo $_POST['rowcomment'][$key] . "<br />\n";

            // do the update here. $val contains the ID
        }
    }
}
?>

<form id="form1" name="form1" method="post" action="test.php">
<?php for ($i=0; $i<11; $i++) { ?>
    <input type="checkbox" <?php echo 'name="SaveEachComment['.$i.']" ';?> value="commentbox" id="commentbox" />
    <input type="text" name="rowcomment[<? echo $i?>]" size="55" value="<?php echo $comment;?>" />
        <br />
<?php } ?>
    <input type="submit"   name="SaveComments" value="submit"  />
</form>
于 2012-08-01T23:08:09.090 回答