Javascript 如何在mysql中一次更新一列中的多个随机条目?

Javascript 如何在mysql中一次更新一列中的多个随机条目?,javascript,php,mysql,Javascript,Php,Mysql,我希望更新列stemp中的值,但所有值必须在30和70之间不同且随机 for($i=0;$i<=30;$i++) { $temp= mt_rand(30,70); mysqli_query($con,"UPDATE sensor SET stemp= $temp"); } 对于($i=0;$i我想您需要稍微更改一下逻辑: 首先,使用从30到70创建一个数组。然后使用该数组并从中获取。使用该数组,您有30个元素,可以循环更新数据库条目。如下所示: <?php

我希望更新列
stemp
中的值,但所有值必须在30和70之间不同且随机

for($i=0;$i<=30;$i++)
{
    $temp= mt_rand(30,70);
    mysqli_query($con,"UPDATE sensor SET stemp= $temp");
}

对于($i=0;$i我想您需要稍微更改一下逻辑:

首先,使用从30到70创建一个数组。然后使用该数组并从中获取。使用该数组,您有30个元素,可以循环更新数据库条目。如下所示:

<?php

    $arr = range(30, 70);
    shuffle($arr);
    $update = array_slice($arr, 0, 30);

    foreach($update as $v)
        mysqli_query($con, "UPDATE sensor SET stemp = $v");

?>

您还可以使用MySQL的
RAND()
函数:

mysqli_query($con, "UPDATE sensor SET stemp=ROUND(RAND() * 40) + 30");

将其放入循环也没有意义,因为您的update语句中似乎没有任何类型的WHERE条件,所以所有记录都将在每次更新。

BTW:您知道,您总是更新所有条目,因为您没有WHERE子句?可以做些什么来保持每10秒更新一次是否运行每10秒执行一次PHP脚本的cron作业?