Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php和sql随机值_Php_Sql_Random - Fatal编程技术网

php和sql随机值

php和sql随机值,php,sql,random,Php,Sql,Random,我有一个PHPSQL脚本,每次执行时都会从数据库中生成5个不同的值。 我希望这些值改变,比如说一个月一次,而不是每次脚本运行 我的代码是: $sql=“从表中按兰德顺序选择*限制5”; $query=mysql\u query($sql,$connection)或die(mysql\u error()); 而($row=mysql\u fetch\u assoc($query)){ 回显“$row['emri']”。$row['mbiemri']”; } 有人能帮我吗?将当前日期存储在数据库中

我有一个
PHPSQL
脚本,每次执行时都会从数据库中生成5个不同的值。
我希望这些值改变,比如说一个月一次,而不是每次脚本运行

我的代码是:

$sql=“从表中按兰德顺序选择*限制5”;
$query=mysql\u query($sql,$connection)或die(mysql\u error());
而($row=mysql\u fetch\u assoc($query)){
回显“$row['emri']”。$row['mbiemri']”;
}

有人能帮我吗?

将当前日期存储在数据库中。每次运行脚本时,请检查当前日期是否比上次存储的日期晚30天,并相应执行。

将当前日期存储在数据库中。每次运行脚本时,请检查当前日期是否比上次存储的日期晚30天,并相应地执行。

使用
cronjob
计划在每月的第一天选择随机数据的脚本(
0 0 1**
),并将该数据插入单独的表中,或将其存储在内部缓存中


此外,您应该在PHP端使用
array\u rand
进行随机操作,在大多数情况下,
order by rand()
是一种无法保证永远工作的黑客行为(尽管可能会,因为它经常被滥用)


此外,您应该在PHP端使用
array\u rand
进行随机操作,在大多数情况下,
order by rand()
是一种不能保证永远工作的黑客行为(尽管可能会,因为它经常被滥用)。

脚本多久运行一次


如果只在您想要更改值时运行该脚本,那么您需要设置一个每月运行一次的cronjob。

该脚本多久运行一次


如果只在您想要更改值时运行,则需要设置一个每月运行一次的cronjob。

您可以在服务器中创建一个crontab文件,以“在当前日期的此时”执行脚本。请参阅手册页。可能是您的服务器也可以使用的。

您可以在服务器中创建一个crontab文件来执行脚本“在这个日期的这个时间”。请参阅手册页。可能您的服务器也可以使用

说明:如果给rand函数一个seed(整数参数),它会创建一个特定的序列(例如rand(3)总是创建相同的序列)。上述代码每30天提供一个不同的种子:

UNIX_TIMESTAMP():返回UTC“1970-01-01 00:00:00”之后的秒数

2592000:30天内的秒数

楼层:转换为整数

rand(year(now())*100+month(now()))
说明:如果给rand函数一个seed(整数参数),它会创建一个特定的序列(例如rand(3)总是创建相同的序列)。上述代码每30天提供一个不同的种子:

UNIX_TIMESTAMP():返回UTC“1970-01-01 00:00:00”之后的秒数

2592000:30天内的秒数

楼层:转换为整数

rand(year(now())*100+month(now()))
应该每个月给你一个不同的随机数。rand函数
rand(
的参数是种子。如果种子相同,此值将使返回的随机值成为相同的序列。我写的方式使种子每个月都是一样的。(如本月201305)


应该每个月给你一个不同的随机数。rand函数
rand(
的参数是种子。如果种子相同,此值将使返回的随机值成为相同的序列。我写的方式使种子每个月都是一样的。(如本月201305)

谢谢你的回答,但是如果我设置了cronjob,如果我在指定的时间只运行一次脚本,或者每次我在间隔内刷新该页面时,它都会显示不同的结果?谢谢你的回答,但是如果我设置了cronjob,如果我在指定的时间只运行一次脚本,或者每次我在间隔内刷新该页面时,它都会显示不同的结果给我看不同的结果?
rand(year(now())*100+month(now()))