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


Load random profile on index page, jQuery

我正在重新设计和开发的当前站点是http://www.gdi-brighton.co.uk/.大多数更改都是表面上的,我将导航简化为3个链接:GDI Brighton(主页)、Profiles和News。该网站使用了一个由以前的学生在PHP中构建的自定义CMS。

访问主页时,我希望加载一个随机的学生档案页面。每个学生都有一个id和name_url,单击当前网站上某个学生的缩略图时可以看到。

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

如果你需要更多信息,请告诉我。谢谢你的帮助。

Ryan

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

您可以在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传递任何变量)。

您也可以在客户端上选择一个随机url,代码如下:

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

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

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

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)显示正确的信息