php随机消息在20秒内淡入下一个随机消息

时间:2012-03-01 18:56:02

标签: php javascript mysql random

我有一个带有小插图云的网页,里面有一条小信息 从包含30条消息的mySql表中随机出现

完美无缺

代码:

 $select = mysql_query("SELECT * FROM `cloudbig` ORDER BY RAND() LIMIT 1");

如果刷新页面,则会显示另一条消息

我的客户希望......如果用户在该页面上,云将更改为另一个 随机消息每20秒并具有平滑的淡入淡出效果

我对脚本的看法有任何想法 - 不仅仅是这样的 “+ 20秒GET NEXT记录ORDER BY RAND()”......以及一些javascript脚本 为了淡出?

2 个答案:

答案 0 :(得分:2)

你可以从数据库中获取一堆消息,将它们回显到一个Javascript数组中,然后编写/找到一个带有效果的javascript循环(你可以使用jQuery进行淡化)。这是一种“缓存”类型的方法。

如果表的内容变化很快,或者由于其他原因导致每次访问的固定大小的池不可接受,则可以使用AJAX向服务器发出异步请求。这样,您就可以从服务器动态获取新消息。这可能不是必要的,我建议采用上述方法。

答案 1 :(得分:1)

至少有三种不同的方法可以解决这个问题。

一个是列出您希望它们去的所有消息,并且只有其中一个可见。在JavaScript中,您可以在超时时循环访问它们。

另一种可能性是只显示一条消息,然后在超时后通过AJAX获取下一条消息。

两者的混合体最初不会显示任何消息,但是一旦文档完成加载并将它们加载到数组客户端,您的JavaScript就会通过AJAX获取所有消息。然后你可以使用超时循环它们。这将是我的首选方式,但这取决于你。