gpt4 book ai didi

php - 使用 PHP 和 Mysql 每周随机查询一次数据库

转载 作者:太空宇宙 更新时间:2023-11-03 11:01:29 25 4
gpt4 key购买 nike

我有一个关于狗品种的网站,其中有一个“今日狗”部分。我希望“今日之犬”每天显示一次新狗(来自 mysql 数据库)。使用php和mysql,我想操作其实很简单。

$connection = mysqli_connect("localhost", "username", "password");

$randomdog = mysqli_query($connection, "SELECT * FROM dogtable WHERE id >= RAND() * (SELECT MAX(id) FROM dogtable) LIMIT 1"));

echo $randomdog

当然,每次重新加载页面时,这都会给我一只随机狗。我希望 $randomdog 每天只更改一次。

cron 作业会是答案吗?我以前从未实现过,但我的网站上安装了 cpanel,所以我认为它不会太毛茸茸。

如果我要使用 cron 作业,我假设我会保存

$connection = mysqli_connect("localhost", "username", "password");

$randomdog = mysqli_query($connection, "SELECT * FROM dogtable WHERE id >= RAND() * (SELECT MAX(id) FROM dogtable) LIMIT 1"));

作为一个 .php 文件,由 cron 作业每天运行一次,每天更新一次 $randomdog。但是我怎样才能将 $randomdog 传递到一个单独的页面以进行回显呢?

我以前在这里问过类似的问题,答案通常是“存储一个 unixtimestamp,在一周后,当当前时间 == 时间 + 1 周时再次执行”。

这对 php 来说是不可能的?它只有在用户请求时才会执行,对吧?这意味着“时间 + 1 周”变量不可能存储在某处。

无论如何,一定要纠正我。

最佳答案

是的,您可以使用 rand() 来获得随机元素。您希望它被播种,以便每次调用时返回相同的初始 rand 值。你希望它每天都播种相同的种子。您可以使用 dayofyear() 获取一年中的第几天 (1-366)。格式为:

select * from TABLE order by rand(dayofyear(CURRENT_DATE)) limit 1

关于php - 使用 PHP 和 Mysql 每周随机查询一次数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15317614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com