私は PHP、HTML、および CSS のコーディングに非常に慣れていないため、非常に基本的な機能を備えた基本的な Web サイトを作成しているだけであり、これらの言語のコーディング方法についてさらに学習するにつれて、これらを変更して改善していきます。私の質問は、フォーラムを表示したときに、フォーラムの応答ページで作成したスレッドへの応答が表示されないのはなぜですか? 私が使用したコードは私のものではありません - このウェブサイトから入手しました:www.phpgang.com/create-a-simple-forum-in-php_158.html
このコードで他のすべてが機能し、エラーは発生しません。トピックを作成し、トピックを表示し、トピックに応答できますが、トピックを表示しても応答が表示されません。ただし、現在のすべてのトピックを表示するフォーラム テーブルのコメント エリアにコメントが追加されます。応答を表示する方法についてアイデアを提供してください。正確に何をしているのかについて質問がある場合は、コメントしてください。
(トピックへの応答を表示して追加することになっているコード) add_answer.php:
<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="greatdebate"; // Database name
$tbl_name="fanswers"; // Table name
// Connect to server and select databsae.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// Get value of id that sent from hidden field
$id=$_POST['id'];
// Find highest answer number.
$sql="SELECT MAX(a_id) AS Maxa_id FROM $tbl_name WHERE question_id='$id'";
$result=mysql_query($sql);
$rows=mysql_fetch_array($result);
// add + 1 to highest answer number and keep it in variable name "$Max_id". if there no
answer yet set it = 1
if ($rows) {
$Max_id = $rows['Maxa_id']+1;
}
else {
$Max_id = 1;
}
// get values that sent from form
$a_name=$_POST['a_name'];
$a_email=$_POST['a_email'];
$a_answer=$_POST['a_answer'];
$datetime=date("d/m/y H:i:s"); // create date and time
// Insert answer
$sql2="INSERT INTO $tbl_name(question_id, a_id, a_name, a_email, a_answer,
a_datetime)VALUES('$id', '$Max_id', '$a_name', '$a_email', '$a_answer', '$datetime')";
$result2=mysql_query($sql2);
if($result2){
echo "Successful<BR>";
echo "<a href='view_topic.php?id=".$id."'>View your answer</a>";
// If added new answer, add value +1 in reply column
$tbl_name2="fquestions";
$sql3="UPDATE $tbl_name2 SET reply='$Max_id' WHERE id='$id'";
$result3=mysql_query($sql3);
}
else {
echo "ERROR";
}
// Close connection
mysql_close();
?>
main_forum.php または new_topic.php を見る必要がある場合は、私に連絡してください。