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. GET の代わりに POST を使用する
  2. mysql_real_escape を使用して SQL インジェクションを回避する
于 2012-07-31T22:37:46.860 に答える