好吧,這是我的解決方案: 首先,我創造我的數據庫的兩個表,我填充他們,然後我創建使用的MySQLi我的數據庫連接(MySQL是不建議使用)。 我選擇了所有狀態,併爲每個狀態選擇了相關注釋。爲此,在評論表中,我需要一些東西來建立狀態和評論之間的關係。 只是要了解評論與哪個狀態相關。
首先讓我們創建並填充表:
SQL:
CREATE TABLE `status` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`st` text,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `status` (`id`, `st`)
VALUES
(1, 'This is the first status in your DB, let\'s say \"Hello World\"'),
(2, 'This is the second status');
CREATE TABLE `comment` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`id_status` int(11) DEFAULT NULL,
`com` text,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `comment` (`id`, `id_status`, `com`)
VALUES
(1, 1, 'This is just a comment to the first status'),
(2, 1, 'This is another comment to the first status'),
(3, 2, 'This is a comment to the second status'),
(4, 1, 'This is the third comment to the first status');
好吧,php文件:
<?php
$con = mysqli_connect("localhost","YourUsername","YourPassword","YourDB");
// Check connection
if (mysqli_connect_errno()) {
echo "Connection error: ".mysqli_connect_error();
exit();
}
$sql = "SELECT * FROM status";
$result = $con->query($sql);
while($row = $result->fetch_array(MYSQLI_ASSOC))
{
echo $row['id']." ".$row['st']."<br>";
//show comment
echo "<ol>";
$id_status = $row['id'];
$query = "SELECT com FROM comment WHERE id_status = $id_status";
$comments = $con->query($query);
while($comment = $comments->fetch_array(MYSQLI_ASSOC))
{
echo "<li>".$comment['com']."</li>";
}
echo "</ol>";
// end of show comment
//new comment area.
include('textarea.php');
echo "<hr>";
}
?>
這是結果(我沒有輸出文本區,因爲我沒有textarea.php)
我希望這有助於。
有很多錯誤。我不知道你想要達到什麼目的,並且有一些關於你的sql表格會有所幫助。也許是你最終結果的劃痕。 – Gianca
有點格式化和固定的語法。 –
我只是想建立類似於Facebook的評論和狀態系統。當我給它一個狀態它的節目和評論關於這個狀態它的節目。但是當我給出一個新的狀態,它不顯示。 –