2010-07-27 21 views
0

我意識到這是一個抽象的問題,有幾個答案,但我對於從哪裏開始感到不知所措。我想爲每個博客文章都有一個單獨的評論區域。每次更新代碼以包含最新條目時,是否應該爲每個條目的註釋手動設置不同的表格?什麼是有效的方法來編碼單獨的評論區域?

回答

2

與結構類似評論創建新表(當然,你可以定製你的需求):


Comments 
    id INT NOT NULL auto_increment, 
    blog_id INT NOT NULL, 
    author_id INT NOT NULL DEFAULT 0, 
    comment text NOT NULL, 
    added_date DATETIME NOT NULL 

的AUTHOR_ID鏈接到用戶表登錄的用戶,0一位匿名用戶。我希望其他一切都應該是自我解釋的。

+0

不應該'blog_id'是'post_id'什麼的? >我想每個**博客文章都有一個單獨的評論區** – Svish 2010-07-27 14:01:48

+0

我的回覆只是一個鬆散類型的設置。就像我說的那樣,它應該是自我解釋的。如果你的博客設置爲「帖子」,那麼是的,這將是post_id。 – 2010-07-27 15:07:09

0

我不確定你在做什麼......但聽起來你想對每個帖子有特定的評論。如果是這種情況,只需在評論表中爲「post_id」或類似內容創建一個字段即可。然後在每個帖子頁面上使用SELECT語句來獲取該特定post_id的註釋。

0

只需在其中一個字段中存儲數據庫表格即可存儲帖子ID。一些類似以下內容:

CREATE TABLE blog_comments (
    id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, 
    author_id INT(10) UNSIGNED NOT NULL DEFAULT '0', 
    post_id INT(10) UNSIGNED NOT NULL, 
    comment TEXT NOT NULL, 
    added_on TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    PRIMARY KEY (`id`) 
); 

然後,你可以簡單地查詢發表評論像這樣:

$pid = 13; // or whatever your post ID is; could be a $_GET value 
$sql = "SELECT * FROM comments WHERE post_id = '$pid' ORDER BY added_on DESC"; 

當然,一定要清理上面的查詢,因爲你不希望任何一個通過他們感興趣的價值$pid。你需要確保它是一個數字,只有一個數字。

+0

例如'$ pid =(int)$ _GET ['pid'];' – Svish 2010-07-27 14:04:05

+0

如何設計我的html表單以發送我選擇的帖子ID變量的值?我知道我需要使method =「get」,但我不想創建一個文本區域,我想傳遞一個數字或一個包含數字的變量。 – Jimmy 2010-08-06 19:00:01

+0

帶有隱藏字段。 ' id;?>」/>'其中'$ post-> id'是您使用回顯實際發帖ID的位置您已經用來從數據庫中提取發佈數據的方法。 – 2010-08-09 12:45:43

相關問題