我在php中遇到mysql_query问题。当然,我的网站上有访问者,他们在那里阅读足球新闻。问题是我尝试通过DESCending视图对新闻进行排序,但它不适用于新上传的新闻。不知何故,它出现在页面的末尾。我还想到了另外一件事,当新闻的观看次数为9时,它出现在页面的开头,但是如果它超过9则出现在页面的末尾。我很感激任何帮助。这是mysql_query。
mysql_query("SELECT * FROM news ORDER BY views DESC");
哦,顺便说一句,我的网站是http://www.bbcsport-football.com/football
在那里你可以找到排序选项,新视图和观看最多。点击查看次数最多,你会看到它。
答案 0 :(得分:5)
您需要将views列转换为数字
mysql_query("SELECT * FROM news ORDER BY cast(views as INTEGER) DESC")
甚至更好地更改表定义,以便视图是INTEGER
答案 1 :(得分:0)
您按“视图”计数对新闻进行排序,如果我是对的,则视图是已经读过该页面的用户数吗?请尝试按发布日期对其进行排序,例如:
"SELECT * FROM news ORDER BY pub_date DESC"
答案 2 :(得分:0)
你的代码对我来说似乎是o.k ...只需在你的phpmyadmin数据库中检查这个查询并检查你手动获得的结果。
我看到了你的网址,按照订单查看了o.k。但我注意到的一件事是你的分页。
当我从最常查看时点击分页(第2页)。它会自动重定向到新的第一页。希望这个小测试能帮到你的网站.. :)