0

我在一个小板/论坛上工作。我已完成主题发布;它在数据库和所有爵士乐中都是可见的。现在我正在检索主题列表,以便当您单击主题时可以查看它。这很好,除了当我点击它时页面变为空白并且没有显示任何内容。我知道问题是我无法获取我点击的帖子的 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 新手,所以我可能遗漏了一些东西。谢谢你的帮助!

4

1 回答 1

-1

首先:你的参数被命名为“thread_id”,所以你的查询应该是

$get_posts = mysql_query("SELECT * FROM GOT WHERE id='$thread_id'");

但我强烈建议

  1. 去 POST 而不是 GET
  2. 使用 mysql_real_escape 避免 SQL 注入
于 2012-07-31T22:37:46.860 回答