如何解决获取与复选框相同查询中的帖子数据
| 好吧,这有点难以解释... 我将发布代码并说出我想要的内容。 我的表单中有此内容(相关代码):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]。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。