Php mysql每次刷新的随机结果(f5)
每次用户登录其网站时,都会从mysql获取随机信息/文本。 问题:如何确保每次用户刷新页面时,她/他都会得到与以前相同的信息 第一个想法浮现在我脑海:Php mysql每次刷新的随机结果(f5),php,random,Php,Random,每次用户登录其网站时,都会从mysql获取随机信息/文本。 问题:如何确保每次用户刷新页面时,她/他都会得到与以前相同的信息 第一个想法浮现在我脑海: 用户进入其网站,他/她获得的信息具有$id='123' 我们在会话中存储的id 用户再次刷新页面,如果执行了statment,则刷新新页面: if($id==$random\u id\u from\u mysql){ //从mysql中选择新id,因为它与之前查看的相同 }否则{ //显示新信息并在会话中存储$id以供功能使用 } 有任何新方法
$id='123'代码>
if($id==$random\u id\u from\u mysql){
//从mysql中选择新id,因为它与之前查看的相同
}否则{
//显示新信息并在会话中存储$id以供功能使用
}
有任何新方法可用于此任务吗?session_start();
session_start();
// If a value already exists in $_SESSION, it will be used.
// Otherwise, NULL
$prev_rand = isset($_SESSION['prev_rand']) ? $_SESSION['prev_rand'] : NULL;
// Query for a random record that isn't equal to the previous one
// (or isn't NULL if no previous one exists)
// using RAND() and LIMIT 1
$result = mysql_query("SELECT id, col1 FROM tbl WHERE id <> '$prev_rand' ORDER BY RAND() LIMIT 1");
$row = mysql_fetch_array($result);
// Store the new rand value into session
$_SESSION['prev_rand'] = $row['id'];
//如果$\u会话中已存在值,则将使用该值。
//否则,无效
$prev\u rand=isset($\会话['prev\u rand'])$_会话['prev_rand']:NULL;
//查询不等于上一条记录的随机记录
//(如果之前不存在,则不为NULL)
//使用RAND()和LIMIT 1
$result=mysql_query(“从tbl中选择id,col1,其中id'$prev_rand'ORDER BY rand()LIMIT 1”);
$row=mysql\u fetch\u数组($result);
//将新的rand值存储到会话中
$\会话['prev_rand']=$row['id'];
会话启动();
//如果$\u会话中已存在值,则将使用该值。
//否则,无效
$prev\u rand=isset($\会话['prev\u rand'])$_会话['prev_rand']:NULL;
//查询不等于上一条记录的随机记录
//(如果之前不存在,则不为NULL)
//使用RAND()和LIMIT 1
$result=mysql_query(“从tbl中选择id,col1,其中id'$prev_rand'ORDER BY rand()LIMIT 1”);
$row=mysql\u fetch\u数组($result);
//将新的rand值存储到会话中
$\会话['prev_rand']=$row['id'];
可以使用get参数和重定向代替会话。或者只是一个cookie。是的,一个$\u GET
或$\u cookie
可以工作,但是$\u SESSION
更能防止篡改。没错,我的评论更多的是作为一些替代方式。原则与您的答案完全相同,只是其他形式的会话。$prev_rand=isset($u会话['prev_rand'])$_会话['prev_rand']:NULL;我认为这是正确的,因为你的不工作…@ZeroSuf3r是的,很抱歉输入错误。在我的辩护中,当我打字时,一个婴儿(现在仍然)爬到我身上。可以使用get参数和重定向来代替会话。或者只是一个cookie。是的,一个$\u GET
或$\u cookie
可以工作,但是$\u SESSION
更能防止篡改。没错,我的评论更多的是作为一些替代方式。原则与您的答案完全相同,只是其他形式的会话。$prev_rand=isset($u会话['prev_rand'])$_会话['prev_rand']:NULL;我认为这是正确的,因为你的不工作…@ZeroSuf3r是的,很抱歉输入错误。为我辩护,我打字时,一个婴儿(现在仍然)爬在我身上。