在索引页面上加载随机配置文件jQuery

时间:2012-03-11 09:29:07

标签: php jquery

我正在重新设计和开发的当前网站是http://www.gdi-brighton.co.uk/。大多数变化都是装饰性的,我已经将导航分为3个链接:GDI-Brighton(主页),个人资料和新闻。该站点使用以前学生使用PHP构建的自定义CMS。

访问主页时,我想要一个随机的学生资料页面加载。每个学生都有一个id和name_url,您可以在当前站点上单击其中一个学生的缩略图时看到。

我熟悉Math.floor(Math.random()),但不知道从哪里开始。

如果您需要更多信息,请与我们联系。谢谢你的帮助。

赖安

4 个答案:

答案 0 :(得分:1)

如果您正在使用关系数据库并且学生实体的ID遵循序列(例如,增加1等),那么您可以通过一个简单查询获取当前序列号到您的数据库(您可以谷歌搜索网络上序列的nextval())。将此数字分配给变量,并在生成随机学生ID时将其用作上限。要处理生成的随机数与有效学生ID不对应的情况(即某些学生可能已从数据库中删除),您可以使用包含随机ID生成代码但存在的while循环在有效的id生成。之后,只需使用此有效随机ID查询数据库,然后获取相应学生的个人资料的网址。

答案 1 :(得分:0)

您可以在PHP中执行此操作。这是概念(不是实际工作代码):

$result = mysql_fetch_row(mysql_query("SELECT MIN(id), MAX(id) FROM table"));
$min = $result[0]; $max = $result[1];
$id_to_retrieve = rand($min, $max);
$random_student = mysql_query("SELECT * FROM table WHERE id = {$id_to_retrieve} LIMIT 1");

请注意,这不会检查上一个查询中是否存在具有该ID的记录。如果它不存在,您可以获得另一个随机ID或获取最接近的ID。

完成所有这些后,您输出随机学生卡并使用jQuery检索结果(使用load()或其他东西 - 您不需要将任何变量传递给PHP)。

答案 2 :(得分:0)

您可以使用以下代码在客户端选择随机网址:

var url = $('li.illustration:eq('
            + Math.floor($('li.illustration').length * Math.random())
            +')>a').attr('href')

但它感觉太乱了,服务器似乎是最好的地方。

答案 3 :(得分:0)

你可以使用这样的东西吗?

var randomnumber = Math.floor(Math.random() * 3);
if (randomnumber == 0) { DisplayProfile(0); }
if (randomnumber == 1) { DisplayProfile(1); }
if (randomnumber == 2) { DisplayProfile(2); }

DisplayProfile将包含您的JQuery代码,该代码将组织您的页面以根据传递的信息显示正确的信息(在我的示例中为0,1或2)