2017-07-07 76 views
-1
`id` int(11) NOT NULL, 
    `ip` text NOT NULL, 
    `song` text NOT NULL, 
    `vote` int(11) NOT NULL 

我創建了一個投票系統,我想有更多的選票打印歌排名...我怎麼辦呢?謝謝在PHP和MySQL

+0

基本上你有什麼要求?它是SQL查詢嗎?或PHP腳本?你到目前爲止所嘗試過的? – masterFly

+0

你是什麼意思'更多'然後呢? – ArtisticPhoenix

+0

這就是爲什麼我不知道要離開的原因,我需要一個PHP腳本,在哪裏檢查哪些歌曲有更多的投票,並打印10個最受歡迎的歌曲 – Cristoforo

回答

-1

我想你需要嘗試爲歌曲

SELECT SUM(vote)as VOTECOUNT, song FROM votes GROUP BY song ORDER BY SUM(vote) DESC LIMIT 10 
+0

而我該如何在PHP中模擬此?我是否需要一個循環來打印前十名? – Cristoforo

+0

@Cristoforo我現在編輯我的代碼,你可以看到它的返回前10名** VOTECOUNT **,並在你的PHP中,如果你能得到前10名的記錄 爲什麼你失望我的答案 –

+0

是的,挑戰你需要使用foreach循環來打印這10條記錄 –

0

計算總票數如果我理解正確的表包含了各個單票。 我也假設這首歌是一首歌的唯一ID。 如果是這樣,你需要對投票的價值進行總結,並將其分爲總票數。

SELECT song, SUM(vote)/COUNT(*) AS rateing FROM your_table_name GROUP BY song ORDER BY rateing DESC; 
0

您需要嘗試以下查詢,您可以獲得最高的投票歌曲。 將表名稱放在'table_name'中。

選擇歌曲,SUM(投票)作爲VOTECOUNT FROM table_name的GROUP BY歌曲順序由VOTECOUNT遞減