我正在一个小论坛上工作。我已经完成了主题发布;它在数据库和所有爵士乐中都是可见的。现在我正在检索主题列表,这样当你点击一个主题时,你就可以查看它。这很好,只是当我点击它时,页面会变为空白,什么都没有显示。我知道问题是我无法获得我点击的帖子的id,因为它在带有while循环的if-else语句中。这是我的密码。
<?php
require('init.php');
$get_threads = mysql_query("SELECT * FROM GOT ORDER BY time");
if (!isset($_GET['view_thread'])) {
$get_threads = mysql_query("SELECT * FROM GOT ORDER BY time");
while ($select_threads = mysql_fetch_assoc($get_threads)) {
$title = $select_threads['title'];
$time = $select_threads['time'];
$user = $select_threads['user'];
$id = $select_threads['id'];
$form = '<center>
<form method="get" action="">
<input type="submit" name="view_thread" id="view_thread" value="'.$title.'" />
<input type="hidden" name="thread_id" id="thread_id" value="'.$id.'" />
</form>
</center>';
echo '<div id="post_info">'.$form.'<hr>Posted by: <b>'.$user.'</b> '.$time.'</div>';
}
} else {
$get_posts = mysql_query("SELECT * FROM GOT WHERE id='$id'");
$select_posts = mysql_fetch_assoc($get_posts);
$content = $select_posts['content'];
echo $content;
}
?>
我需要得到$id
,这样我就可以获取帖子,然后从数据库中获得所有回复。我是php的新手,所以我可能遗漏了一些东西。谢谢你的帮助!
首先:您的参数名为"thread_id",因此您的查询应该是
$get_posts = mysql_query("SELECT * FROM GOT WHERE id='$thread_id'");
但我强烈建议
- 使用POST而不是GET
- 使用mysql_real_eescape避免SQL注入