随机执行mysql_query。

时间:2012-07-09 01:12:58

标签: php mysql

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

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

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

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

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

        **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>";**

任何人都可以指出我正确的方向吗?

2 个答案:

答案 0 :(得分: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>";
  }

答案 1 :(得分:0)

某些大型网站所做的事情是每100个页面加载一次,它会将页面视图更新100个。

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

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