Php 随机执行mysql\u查询。

Php 随机执行mysql\u查询。,php,mysql,Php,Mysql,我正在尝试执行一个随机查询。。。随机进行1-15次攻击 下面是一个游戏的php查询。 当玩家点击攻击按钮时,它被执行。为了简单起见,我简化了查询 换句话说,我想做的是/// 每10次对此特定船舶id的攻击,随机运行查询以插入 就随机生成器而言,我目前所掌握的是错误的,但希望能说明我的观点 -------------------------随机命中将在这条线以下 **function RandNumber($e){ for($i=0;$i<$e;$i++){ $r

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

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

每10次对此特定船舶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>";**
**函数号($e){

对于($i=0;$i一些大型网站所做的事情是每100个左右的页面加载,它将更新100个页面视图

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


因此,对于您的情况,在脚本中从1-15中选择一个随机数。如果结果是
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>";
  }
$rand=rand(1,15);//但我会选择1,5,这完全是随机的,我认为跟踪点击更好
如果($rand==1){
mysql_query(“插入到{$game}_船舶中(船舶名称、登录名称、船舶类别、类名称、类名称缩写、战斗机、max_战斗机、max_盾牌、货舱、地雷率金属、地雷率燃料、配置、大小、升级、移动翻转成本、点值、位置、登录id
)价值观(
‘FC1’、‘用户[登录名]、‘427’、‘fc’、‘Sc’、‘5967’、‘5967’、‘10442’、‘2003’、‘5’、‘45’、‘bs:dt:ot’、‘6’、‘99’、‘19’、‘45’、‘1’、‘用户[登录id]);
回声“427”;
}

我没有看到任何包含点击跟踪的代码。请在我们帮助您之前发布该代码。通常情况下,您会将其插入表中,而不是数据库。这不是通过点击来跟踪的。我的错误。我更新了问题。您说随机,但您说每15次点击一次。如果您想要像每15次点击一样的特定数字,请通过存储来跟踪点击在数据库中(hits=hits+1),然后检查命中率是否为%15=0,但如果完全是随机的,则可以使用rand(0,15)但是不需要for和return。另外,查询是错误的。我是对的,我截断了它,因为它的长度超过1500行。不起作用的部分是我试图实现的随机插入。我宁愿使用random,而不是创建另一列。跟踪命中率,因为这是一个游戏,你想知道它收到了多少命中率。保持常量ant并控制点击数。查看我之前的评论。每次点击都会记录下来。然后检查命中率%10(如果左除10等于0)如果你想随机设置而不是精确的10,那么你可以使用$target=rand(9,15)得到一个数字;如果($hit%$target)有趣的技术,但可能会导致一些大的差异,不是吗?我这里要的是小的数字。当然,它在数字上不是绝对完美的。但如果你想使它在数字上完美,你必须运行一个db查询(或类似)我会认真考虑你的建议。我喜欢它,但是它不适合这个功能。非常感谢。