2010-06-12 48 views
0

我想用mysql和php構建一個網站。這是我嘗試的第一個網站,因此我想寫一個小計劃並獲得一些反饋。php和mysql網站設計問題

該網站允許用戶在文本字段中添加一些文本作爲「評論」。一旦評論被輸入到網站中,它將被添加到數據庫中,其中可以被其他用戶投票。

當新評論添加到數據庫中時,它需要創建一個新頁面,例如, www.xxxxx.com/commentname或www.xxxxxx.com/?id=99981。

數據庫中會有一列「評論」以及每條評論的投票數量。

主頁將有兩個功能。

1)允許用戶添加一個「註釋」

2)顯示兩個表,每個包含最「熱門評論」 20行「最新評論」

每條評論都會產生它的一個頁面評論將顯示在哪裏。這裏用戶可以閱讀評論和評論,如果他們願意的話。

請幫助我解釋如何做到以下幾點。

- 生成每當註釋添加到數據庫

- 添加投票在註釋數據庫中的計票了新的一頁。

- 根據票數顯示前20位最熱門評論。

回答

1

- 生成每當註釋添加到數據庫

你只需要一個comment.php文件與一個MySQL查詢獲取給定註釋掉數據庫的新的一頁。我會建議使用評論主鍵來獲得評論。使用重寫,你可以有這樣的URL:www.xxxx.com/comment/1。如果您需要重定向特定鏈接結構,請再次詢問。

- 爲評論數據庫中的票數添加投票。

只需在列表中添加一列即可。如果您已經登錄了用戶,然後想要檢查他們的投票,請爲投票創建一個新表格,併爲另一個表格創建多對多的表格。

- 根據票數顯示前20位最熱門評論。

// For the recent 20 comments 
SELECT * FROM comments ORDER BY id DESC LIMIT 0,20 
// For the 20 most popular comments 
SELECT * FROM comments ORDER BY votes DESC LIMIT 0,20 

任何進一步的問題:

這簡直是通過在MySQL查詢排序,只選擇20個結果呢?

0

這是一個相當寬泛的問題,我不認爲我們能夠完全幫助你在這裏堆棧沒有一個完整的PHP博客教程!

但我會盡力指出你在正確的方向。首先,我會說看看wordpress,即使我假設你想製作自己的定製版,wordpress會是代碼靈感的一個很好的起點。 (只是一個想法)

我會生成一個新頁面的方式,將使一個PHP頁面,說comments.php,使用$ _GET變量,獲取數據庫中的相關記錄並顯示它。

向上或向下添加投票與向兩個提交按鈕添加表單一樣簡單,其中一個值爲1,值爲-1,提交後將值發送到數據庫,現有的投票值爲25,並增加它的值,如果你投了25 + 1 = 26,如果你低估了25 + -1 = 24。

顯示20個最流行的註釋僅僅是使用一些SQL排序,像這樣的工作

SELECT * FROM comments ORDER BY votes DESC LIMIT 0, 20 

這語句選擇所有的意見表中的列,由得票列decending排序,所以最高值Fi首先,然後將它獲取的記錄數量限制爲20,從那裏循環遍歷每條記錄並顯示它的方式。

我希望這至少讓你開始正確的道路:)

+0

你的SQL語句中有兩個小錯誤。它被稱爲「ORDER BY」而不是「SORT BY」,並且「LIMIT」你必須給出一個起點。 (順便說一下,不是我的投票)。 – 2ndkauboy 2010-06-12 10:26:24

+0

WordPress的源代碼大小是7.5Mb。您能否建議,首先要看到創建網站的想法? – 2010-06-12 10:27:42

+0

@ Kau-Boy不,限制你的錯誤 – 2010-06-12 10:28:32