Php mysql每次刷新的随机结果(f5)

Php mysql每次刷新的随机结果(f5),php,random,Php,Random,每次用户登录其网站时,都会从mysql获取随机信息/文本。 问题:如何确保每次用户刷新页面时,她/他都会得到与以前相同的信息 第一个想法浮现在我脑海: 用户进入其网站,他/她获得的信息具有$id='123' 我们在会话中存储的id 用户再次刷新页面,如果执行了statment,则刷新新页面: if($id==$random\u id\u from\u mysql){ //从mysql中选择新id,因为它与之前查看的相同 }否则{ //显示新信息并在会话中存储$id以供功能使用 } 有任何新方法

每次用户登录其网站时,都会从mysql获取随机信息/文本。 问题:如何确保每次用户刷新页面时,她/他都会得到与以前相同的信息

第一个想法浮现在我脑海:

  • 用户进入其网站,他/她获得的信息具有
    $id='123'
  • 我们在会话中存储的id
  • 用户再次刷新页面,如果执行了statment,则刷新新页面:
  • 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是的,很抱歉输入错误。为我辩护,我打字时,一个婴儿(现在仍然)爬在我身上。