发布网友 发布时间:2022-05-05 11:09
共2个回答
热心网友 时间:2022-05-05 12:38
可以考虑把这三条数据读取出来,然后在程序里边产生一个1~3的随机数来实现。不过这样的话就会占用内存空间追问不会哦。 只有这种方法?追答由于的是数据量比较少,只有3条。查出来的数据有可能会重复的,所以会是你之前看到的效果,如果你在程序里边产生一个1~3的随机数来做,还要判断上一个随机数是否跟当前随机数一样,如果一样,从新产生一个随机数,这样就不会重复了!
来自:求助得到的回答
热心网友 时间:2022-05-05 13:56
SELECT top 3 [NewsTitle] FROM [News] order by newstime desc 这样怎么可能实现随机,这个明显就是按照 newstime 排序,最后取出最新的3条记录,追答哦,newid() 是 SQL server的语法,没注意,我弄的是 mysql 的语法。
你这个不能单从数据库方面解决,必须配合程序了,比如第一次取的 新闻id 为10,然后程序显示出来,把这个id存到cookie或者session里,再刷新的时候,程序读取显示过的新闻id,然后查询的时候加上一个条件,让 newsid NOT IN (10, 11,15) 这样的。
或者就是用javascript了,每次刷新页面,从数据库取3条记录,然后用js来实现轮播,还得配合cookie的设置、读取