duanqiao2006 2018-08-15 20:46
浏览 149
已采纳

MySQL PHP按随机顺序一段时间?

For example, say if you wanted a random result every 10 minutes. Is there a way to achieve this with ORDER BY RAND()?

$fetch = mysqli_query($conn, "
  SELECT * 
    FROM food 
    JOIN food_images ON food.size = food_images.size 
    ORDER BY RAND()
"); 

I also am using a JOIN and worried if this might affect the answers. Thank you!

  • 写回答

3条回答 默认 最新

  • duanbi2003 2018-08-15 21:08
    关注

    I don't have a MySQL server in front of me so most of this is a guess, but you might try as follows:

    You can generate a number that changes only once every ten minutes by taking the system time in seconds, dividing by the number of seconds in ten minutes, and then casting to an integer:

    $seed = (int) (time() / 600);
    

    Then pass this value to MySQL's RAND() function as a parameter to seed the RNG, and you should get a repeatable sequence that changes every ten minutes:

    $stmt = mysqli_prepare($conn, 'SELECT ... ORDER BY RAND(?)');
    mysqli_stmt_bind_param($stmt, 'i', $seed);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效