你不需要很多代碼是,答案是隻要我試圖解釋每一件事情,但代碼是短
這是你讀的評論非常重要的,首先看一下我的數據庫圖片
,你可以這裏的人選擇選項2,三次
他們選擇選項1,兩次
,比次看安永選擇選項3只次,
所以選項2是贏家3票,選項1是在第二位,2票和期權3在第三位,一票
讓你的顯示器看起來應該這樣
選項1個贏家3票
選項2 2票
選項3 1票
如果我是正確的,直至現在,繼續讀下去,其他明智附上你的數據庫的照片,你的問題,並讓我知道,
解決方案 - 你不需要太多的代碼要做到這一點,只需使用向下跌破
$res = mysqli_query($datacenter,"SELECT *, COUNT(QUESTION_1) as total FROM
`votes` GROUP BY QUESTION_1 ORDER BY total DESC");
$declration = ['winner with','with','with'];
$i=0; // you dont need this line, but if you dont need this it will show you
// the index error but your code will work fine
while ($row = mysqli_fetch_assoc($res)) {
echo 'option '.' '. $row['QUESTION_1'].' '.
$declration[$i++].' '. $row['total']. ' '.
'votes<br>';
}
解釋碼 - 第一次查詢的解釋
SELECT *, COUNT(QUESTION_1) as total FROM `votes` GROUP BY QUESTION_1 ORDER BY total DESC
什麼查詢簡單地說,塞萊每個事物和計數number question_1都在重複它自己,並按重複值的順序排列它們,最後我要說的是,通過總DESC命令它們,如果我沒有命令它們,它很好,但比我必須排序結果,所以這就是爲什麼我現在訂購他們。
如果運行在本地主機這個查詢,你將得到的結果是這樣
,你可以在我們的結果是很好的排序,所以纔想到現在我們必須對我們的顯示信息的工作。
我使用的陣列來顯示結果
做顯示的結果,而不是鍵入他們顯然我使用的陣列,declration
$declration = ['winner with','with','with'];
我使用陣列的原因,因爲它使我的工作更容易,因爲您可以看到第一個值爲winner with
,比第二個值爲with
還有第三個值爲with
,嘗試更改第二個和第三個值,有些參數如亞軍或第三名,並且您的顯示器將會也改變。
現在的抓取和顯示
echo 'option '.' '. $row['QUESTION_1'].' '. $declration[$i++].' '. $row['total']. ' '. 'votes<br>';
我使用
只是爲了創造另一個空間,你們休息會明白,如果你不明白,這是什麼部分是做$declration[$i++],
變化值我們原來$declration
數組,你就能明白,
,這消息是真的很重要,你的代碼是vunrable SQL注入,請做一個reasearch或觀看錄象,
任何困惑讓我知道
看起來像一個家庭作業。你在上什麼課?用簡單的英語(而不是代碼),你認爲你應該如何繼續。按步驟排列。有些地方你的問題沒有意義?看看'echo'代碼片段。選項#1發生了什麼?爲什麼選項#2列出兩次? – zipzit
顯示您的表格結構以及您想要達到的目標。 –
我編輯了這個問題,現在很容易理解它 – caradevineros