2012-04-11 8 views
0

コメントシステムに問題があります。コメントを追加するとMySqlテーブルには、送信された正しいコメントが表示されます。ただし、表の内容をエコーすると、登録されたすべてのユーザーにコメントが印刷されます。つまり、ちょうど代わりに... こんにちはJamesによって2012年11月4日と言うでしょうこんにちはジェームズで11/04/2012こんにちはTomによってon 11/04/2012こんにちはby Emma on 11/04/2012などコメントをエコーすると、登録されているすべてのユーザーからのコメントが返されます

私の言ったように、MySqlテーブルには1つのコメントだけが表示され、コメントをアップロードしたユーザーの正しいuser_id番号が表示されます(ユーザーテーブルのIDに対応します)。私はコメントをエコーし​​ている方法でなければなりませんが、私はPHPとMySqlが初めてで、テーブルに正しく結合しているかどうかはわかりません。

ご協力いただき、ありがとうございます。

require_once("db_connect.php"); 
    if($db_server) { 
     //If a connection to the database is made... 
     mysql_select_db($db_database) or die ("<p>Couldn't find database</p>"); 

      //Print out existing comments 
      $result = mysql_query("SELECT * FROM comments JOIN users ON comments.profile_id = $problemID"); 
      if (!$result) die ("Database access failed: " . mysql_error()); 
      $rows = mysql_num_rows($result); 
      for ($j=0; $j<$rows; ++$j) { 
       $str_comments .= "<span class='comment'>" . mysql_result($result, $j, 'comment') . "</span>"; 
       $str_comments .= " bt " . mysql_result($result, $j, 'username'); 
       $str_comments .= " on " . mysql_result($result, $j, 'comm_date') . "</br><br/>"; 
      } 

      //Get any submitted comments and insert into database 
      $comment = clean_string($_POST['comment']); 
      if ($comment != '') { 
       //If the submitted comment is not empty... 
       if (strlen($comment)<200) { 
        mysql_query("INSERT INTO comments (`user_id`, `profile_id`, `comment`) 
           VALUES ('{$_SESSION['user_id']}', $problemID, ('$comment'))") or die(mysql_error()); 
       }else{ 
        $message = "Comment not submitted. The comment must be less than 200 characters long"; 
       } 
      } 
?> 

答えて

1

私はWHERE句が表示されません。このような何かする必要があります。

$result = mysql_query("SELECT * FROM comments JOIN users ON comments.profile_id = $problemID WHERE users.id=$userid"); 

Aは、一緒のテーブルに参加するが、それは結果を「フィルタリング」しない参加する、そのためにあなたはまだ、私が後だっただけで何WHERE句

+0

パーフェクトを必要としています。これは私の最初のJOINなので、少し混乱しました。どうもありがとう。 – GuerillaRadio

+0

私は想像することができます:)私はジョインを構築しているときに、クエリフィールドにphpmyadminでクエリを書き込むことがよくあります。それはあなたに結果の素敵な概要を与えるでしょう。ちょうどヒント – giorgio