在mysql中随机查询但显示新记录

时间:2013-04-25 06:44:13

标签: php mysql

我正在使用rand()函数从一个包含50条记录的表中查找5条记录。

我希望在页面刷新时会显示新记录。

就像在第一次刷新时,第二次刷新时会显示5条记录,然后会显示5条记录等等。

完成记录后,页面应从开始显示。

这不是每次刷新时都会更新的分页记录。

由于

2 个答案:

答案 0 :(得分:2)

如果我理解正确,这就是你想要的:

if(!isset($_SESSION['page'])){
    $_SESSION['page']=0; //set a session variable if not set
}
//here sql query to get the records somehthing like SELECT * FROM table LIMIT $_SESSION['page']*5 5

$_SESSION['page']++; //increase the session variable
if($_SESSION['page']>10){
    $_SESSION['page']= 0;  //return to first record after all records are done (10*5=50)
}

我认为插入sql查询不会是一个大问题,而是一个例子:

$query = 'SELECT * FROM table LIMIT '.($_SESSION['page']*5).' '.5;

请注意,当您在sql查询中开始使用用户输入时,您应该使用预准备语句。

答案 1 :(得分:0)

您可以使用记录的会话计数器和另一个已经在之前显示过的记录的数组。达到限制后 - 只需从会话中刷新该计数器。