コメントシステムに問題があります。コメントを追加すると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";
}
}
?>
パーフェクトを必要としています。これは私の最初のJOINなので、少し混乱しました。どうもありがとう。 – GuerillaRadio
私は想像することができます:)私はジョインを構築しているときに、クエリフィールドにphpmyadminでクエリを書き込むことがよくあります。それはあなたに結果の素敵な概要を与えるでしょう。ちょうどヒント – giorgio