获取与复选框相同查询中的帖子数据

问题描述

| 好吧,这有点难以解释... 我将发布代码并说出我想要的内容。 我的表单中有此内容(相关代码):
echo (\"<input type=\\\"checkBox\\\" name=\\\"cid[]\\\" value=\\\"\".$row[\'cid\'].\"\\\" />\");  
echo (\"<textarea name=\\\"bericht[]\\\">\".$row[\'bericht\'].\"</textarea>\");
echo (\"<input type=\\\"submit\\\" name=\\\"bewerkenSubmit\\\" value=\\\" Bewerken \\\" />\");
而在验证器中:
if(isset($_POST[\'bewerkenSubmit\'])) 
{
    $cid = $_POST[\'cid\'];
    $bericht = $_POST[\'bericht\'];



    if(empty($cid)) 
    {
        echo(\"<p>No comments selected.</p>\\n\");
    } 
    else 
    {
        $N = count($cid);
        for($i=0; $i < $N; $i++)
        {
            MysqL_query(\"UPDATE comments SET bericht=\'$bericht_id[$i]\' WHERE cid=\'$cid[$i]\'\");
            echo (\"Cid: $cid[$i]<br />\"); 
            echo (\"Bericht: $bericht[$i]<br />\"); // THIS IS THE PART THAT DOESN\'T WORK.. it only displays the first option of \'bericht\'...
            header(\"Location:\".$_SERVER[\'PHP_SELF\'].\"?onderdeel=blog&action=reacties&bid=\".$bid);
        }
        echo(\"</p>\");
    }

}
它基本上应该检查已选中了哪个复选框(它已经起作用),并将textarea _POST信息更新到数据库中(这不起作用)。 我是PHP的初学者,也不太了解for()的工作原理。.:P 编辑:http://dhost.info/ddfs/myproblem.html我上传了整个脚本。希望您能看到它应该做什么。我加了
<!-- RELEVANT CODE --> 
这样您就可以了解重要的内容。 highslide div用于文本区域。我隐藏了它,因为它看起来更漂亮。 就像您知道的那样:整个代码可以正常工作,没有错误。它只是\'bewerken \'(=荷兰语中的编辑)部分。     

解决方法

        在您的更新声明中尝试更改
SET bericht=\'$bericht_id[$i]\' WHERE
SET bericht=\'$bericht[$i]\' WHERE
至于for()的工作方式..例如,将其视为浓缩的while():
$i = 0;
while($i < 10)
{
    echo \'Number \'.$i;
    $i++;
}
可以使用for()循环进行压缩:
for($i=0;$i<10;$i++)
{
    echo \'Number \'.$i;
}
for()循环意味着通过执行第3部分($ i ++)继续循环,直到第2部分不再为真($ i <10)-在第1部分开始循环($ i = 0)。这意味着在我的示例中,它从$ i等于0开始,在每个循环($ i ++)上加一,直到$ i大于或等于10。     ,        我认为您只需要从字符串中删除数组样式的变量,并正确地转义textarea内容。尝试这个:
mysql_query(\"UPDATE comments SET bericht=\'\" . mysql_real_escape_string($bericht[$i]) . \"\' WHERE cid=\'\" . $cid[$i] . \"\'\");
echo (\"Bericht: \" . $bericht[$i] . \"<br />\");
该变量也在更新语句中被打错了。     ,        $ bericht返回错误的数据。它提供第一行或最后一行的信息。 @ textarea周围的括号:我知道..那是针对大的textarea的,所以不会关闭。 编辑:很少更新:如果我选择所有行,它工作正常。但是,我需要用户能够从编辑中取消选择一行。 如果我仅选择一行,则它总是采用第一个$ bericht [$ i]。