2012-01-13 90 views
-1

我有php中的mysql_query問題。當然,我在我的網站上有訪客,他們在那裏閱讀足球新聞。問題是我試圖通過視圖DESCending排序新聞,但它不適用於新上傳的新聞。不知怎的,它出現在頁面的末尾。我已經想出了一件事,即當新聞的觀看次數是9時,它會出現在頁面的開頭,但如果它超過9,它會出現在頁面的末尾。我會很感激任何幫助。這裏是mysql_query。PHP的mysql_query按意見排序故障

mysql_query("SELECT * FROM news ORDER BY views DESC"); 

哦,對了,我的網站是http://www.bbcsport-football.com/football

那裏你可以找到排序選項,新的和觀看最多。點擊最多查看次數,您就會看到它。

+1

BBC體育是一個商標。你不能使用該域名。 – 2012-01-28 20:54:30

回答

5

您需要的意見列轉換爲數字

mysql_query("SELECT * FROM news ORDER BY cast(views as INTEGER) DESC") 

甚至更​​好更改表定義,以便觀點是INTEGER

+0

謝謝你,我真的很感謝! – 2012-01-13 13:29:24

+0

我發現了一個更好的想法:)我將視圖從VARCHAR更改爲INT並修復它。不過謝謝。 – 2012-01-14 09:06:52

0

如果我是正確的,你正在通過「視圖」的數量對新聞進行排序,視圖是已經閱讀過該頁面的用戶的數量正確嗎?嘗試按發行日期排序它來代替,如:

"SELECT * FROM news ORDER BY pub_date DESC" 
+1

如果他想在頂部查看「最受歡迎」的內容,這無助於您,因此您可以看到受歡迎的新聞報道。 – ddubs 2012-01-13 13:26:58

+0

是的,但我不認爲這是主意,因爲如果新消息視圖是9,它會出現在表格的頂部,但是如果視圖超過9(例如10,11,12等)它放在桌子的盡頭。我認爲,PHP只承認我們的案件的第一個數字從11它認識到只有1,這可能是問題,但我不知道我到底怎麼可以修復它 – 2012-01-13 13:28:21

+0

@ddubs是的,但新發布的新聞根本沒有意見, 對?所以? – WoLfulus 2012-01-13 13:45:01

0

你的代碼似乎對我來說沒問題...只需在你的phpmyadmin數據庫中檢查這個查詢,並檢查你手動獲得的結果。

我看到您的網址,它看起來每個訂單按視圖。但我注意到的一件事是你的分頁。

當我點擊分頁(第2頁)從大多數瀏覽。它會自動重定向到新的第一頁。希望這個小測試將幫助你在你的網站.. :)

+0

哦,我沒弄明白。謝謝 – 2012-01-13 17:04:15