2014-01-13 47 views
0

只是想快速地說我不是「php/sql程序員」,我瞭解基礎知識,但不是更高級的東西,女巫給了我一個(如現在)對不起,我的英語不好,來自瑞典的IM :)從每行的2列中獲取值,舍入它們並最終對它們進行排序

Okey,我即將創建一個Dreamcast數據庫在線,其中每個人都可以找到有關遊戲的具體信息,例如有多少VMU塊一個特定的遊戲需要保存或簡單地分類支持VGA適配器等的遊戲。 (網站可以在dreamcastdb.com上找到,請注意它只有幾天的時間,所以它還遠沒有完成,每個夢幻視頻遊戲在那裏,發佈和未發佈將在我死前在這個網站上,這是一個承諾)

我有一個「遊戲」表,每個遊戲一行,因爲現在我只有3個遊戲在數據庫中。在行中,我有2列這個問題的興趣,nrvotes和sumvotes,每次訪問者在遊戲中投票nrvotes將+1,並且sumvotes隨他/她投票的分數(1-10)增加。

我想在我的index.php(第一頁)上顯示最高得分的3場比賽,這意味着我必須在我的遊戲數據庫中安裝所有遊戲,並且「round」從sumvotes/nrvotes獲得的值最後我要排列他們,最後我想顯示前3名。

至於現在我的代碼看起來像這樣,但它根本不工作。

query = select from * games order by (round ($sumvotes/$nrvotes,2) DESC LIMIT 3;"; 

我不明白怎麼在這裏發表正確的PHP代碼,我是提示錯誤信息,但生病覺得你有我的觀點,這個代碼心不是做我想要什麼。

Okey多數民衆贊成在當下看起來像,我知道,如果這將起作用,它只會顯示遊戲的封面和正確的順序(頂部得分最高),至於現在虐待只顯示封面最後生病添加標題和cource的分數。

我真的很感謝一些更有經驗的php/sql程序員的幫助。

由於提前,弗洛裏安來自瑞典,一個變形金剛迷DREAMCAST :)

+0

爲了澄清我的問題有點多: 該數據庫將包含超過400個的Dreamcast遊戲時 全部完成,在這個數據庫中的每一行一場比賽。 在每一行中有2列在這個 問題,NRVOTES和SUMVOTES有趣,每次訪問者 表決NRVOTES將增加一個和SUMVOTES將 增加1-10取決於訪問者投票。 我想要使用的php代碼將得到值 SUMVOTES分爲NRVOTES(SUMVOTES/NRVOTES),然後 只顯示3個最高評分,小數點後兩位。 – user3190247

回答

0

你可以嘗試用一個陣列工作。 做一個while循環,並檢查票數是否高於數據庫中的3。 如果是這樣,通過覆蓋它將其放入數組中。

這樣的事情?

祝你好運! :)

0

用整數除整數給出整數作爲結果。如果轉換的票一數到小數,應該是不錯的

SELECT * FROM games order by round(decimal(10,2),sumvotes/numvotes) desc 
相關問題