0

我想用 php 脚本创建一些随机的 sql 数据

目前我得到最后一条记录,生成一个介于 1 和 2 之间的随机数......如果它是 1,我将在记录中添加一个随机数,否则如果它是 2,我将从中减去一个随机数

问题是它不断吐出减去随机数!我只想要正随机数。

$result = mysql_query("SELECT * FROM Data ORDER BY id DESC") 
    or die(mysql_error()); 

while($row = mysql_fetch_array( $result )) {
// Print out the contents of each row into a table

    $temp=$row['temp'];
    $light=$row['light'];

};

$name="Herbi";
$date=Date("o:m:d");
$time=Date("H:i:s");

$rand =rand(1,2);
$randnu =rand(1,10);

echo " rand:".$rand;
switch($rand){

    case 1:
        $temprand=$temp+$randnu;
        $lightrand=$light+$randnu;
    break;

    case 2:
        $temprand=$temp-$randnu;
        $lightrand=$light-$randnu;
    break;
};
echo"";
echo"randnu";
echo $randnu;
echo "   ";
echo"lightrand";
echo $lightrand;
4

1 回答 1

0

根据您的代码,这是有效的,如果您的 $temp=1 和 $rand=2 那么 $temprand 将为-1。

您可以添加一个检查,以确保您的 $temp 和 $light 应始终大于或等于最大随机数,因此当您从 $temp 或 $light 中减去(最大)随机数时,您将得到 0。

if($row['temp']>=2){
  $temp=$row['temp'];
}else{
  $temp=2; //Max of $rand =rand(1,2);
}

或速记

$temp=($row['temp'] >= 2? $row['temp'] : 2);
$light=($row['light'] >= 10? $row['light'] : 10);
于 2013-09-23T10:46:45.760 回答