ID迷失在循环中

时间:2012-02-07 00:50:36

标签: php mysql arrays post while-loop

我一直致力于为新线程构建存档。最重要的目标是如果有人想编辑或删除他们可以使用的新闻线程,他们也可以将线程保存为草稿,以便不向公众显示。我正在使用MySQL来存储所有新闻主题,并且我有它以便打印出每个新闻源和它的信息。但是当我单击编辑按钮来编辑该线程时,它总是使用最后一个MySQL条目的id而不是我通过隐藏表单设置它的ID。无论如何这里是代码及其所有部分。我很困惑,可以真正使用一些帮助。如果你有问题,请问。

主要剧本:http://pastebin.com/hn3cgVXu
Article_Post:http://pastebin.com/hhaLkuXe
Article_Archive:http://pastebin.com/X2fDg4dk

ID的原始值从数据库中调用,并从article_archive

设置

显示: http://i25.photobucket.com/albums/c51/dog199200/Untitled-2.png

铅笔是编辑,垃圾桶是删除。图像清楚地显示循环获取ID,但单击编辑图像时未传递该特定ID。

1 个答案:

答案 0 :(得分:0)

在循环访问数据库结果的Article_Archive中,您将隐藏的输入字段命名为所有结果的相同内容。

<?php 
while($row = mysql_fetch_array($news_list)) {
  echo "<form action=\"" . $_SERVER['PHP_SELF'] . "\" method=\"post\" id=\"result_".$row['id']."\" name=\"result_".$row['id']."\">";
  // ...
  echo "... <input type=\"hidden\" name=\"id\" value=\"".$row['id']."\">";
  // ...
  echo "</form>";
} ?>

你称之为id,所以当你在同一个表单上放置多个隐藏的输入字段时,它只会抓住最后一个。点击edit时,javascript的位置在哪里?由于您要覆盖具有相同name属性的所有输入字段,您将无法使用该代码执行标准表单提交。