0

我正在尝试执行随机查询... 随机 1-15 次攻击 下面是一个游戏的 php 查询。它在玩家按下攻击按钮时执行。为了简单起见,我简化了查询。

换句话说,我想做的是///

每 10 次针对此特定 ship_id 的攻击随机运行查询以插入

到目前为止,就随机生成器而言,我所拥有的东西是错误的,但希望能说明我的观点。

-------------------------随机命中将低于此行

        **function RandNumber($e){


  for($i=0;$i<$e;$i++){
  $rand =  $rand .  rand(0, 9);  
  }
  return $rand;

  }

  mysql_query("INSERT INTO {$game}_ships (ship_name,login_name,shipclass,class_name,class_name_abbr,fighters,max_fighters,max_shields,cargo_bays,mine_rate_metal,mine_rate_fuel,config,size,upgrades,move_turn_cost,point_value,location,login_id
    ) values(
    'FC1','$user[login_name]','427','fc','  Sc','5967','5967','10442','2003','5','45','bs:dt:ot','6','99','19','45',1,'$user[login_id]')");
  echo "<div class='success'>427 </div>";**

谁能指出我正确的方向?

4

2 回答 2

1

如果您想要每 10 次点击或每 9-15 次点击这样的准确数字,则需要跟踪点击次数。您可以通过运行每次点击插入查询来跟踪它

mysql_query("INSERT INTO YOURTABLE SET hits=hits+1 LIMIT 1");

然后你从数据库中获取相同的命中并检查它是否为 10

if ($hits%10==0){INSERT YOUR QUERY IN QUESTION}

但是,如果您只想从 1-15 随机选择命中数,那么:

  $rand =  rand(1, 15);  //but I would go with 1,5  this will be totally random, I think tracking hits is better 


  if ($rand==1){
         mysql_query("INSERT INTO {$game}_ships (ship_name,login_name,shipclass,class_name,class_name_abbr,fighters,max_fighters,max_shields,cargo_bays,mine_rate_metal,mine_rate_fuel,config,size,upgrades,move_turn_cost,point_value,location,login_id
     ) values(
      'FC1','$user[login_name]','427','fc','  Sc','5967','5967','10442','2003','5','45','bs:dt:ot','6','99','19','45',1,'$user[login_id]')");
  echo "<div class='success'>427 </div>";
  }
于 2012-07-09T01:38:36.927 回答
0

一些大型网站所做的事情是每加载 100 个左右的页面,它会将页面浏览量更新 100 个。

这是通过从 1-100(在您的情况下为 1-15)中获取一个随机数来完成的,如果它恰好是1(例如),那么它将向数据库中添加 100 个值。

因此,对于您的情况,在脚本中选择一个 1-15 的随机数。如果结果是1,则运行查询。

于 2012-07-09T01:18:38.280 回答