0

私はランダムクエリを実行しようとしています...ランダムに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>";**

誰でも私を正しい方向に向けることができますか?

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 に答える