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 に答える