こんにちは、このサイトが私を助けてくれた単純な SQL SELECT と INSERT がありますが、存在しない行に対してのみ挿入を行うようにする必要があります。
行が存在する場合は、次の行にスキップします。私はそれを持っているので、ユーザーが100回の戦闘に到達すると報酬が与えられますが、もちろん、挿入を続ければ、同じ100回の戦闘を行うことで100の報酬が得られます. ユーザーがその報酬を受け取っているかどうかを確認し、そうでない場合はそれを与える必要がありますか?
// Get all the data from the "example" table
$result = mysql_query("SELECT * FROM users where wins >= 100")
or die(mysql_error());
$reward = '100 battles won' ;
$rewardimage = 'chnage after' ;
echo "<table border='1'>";
echo "<tr> <th>username</th> <th>wins</th> </tr>";
// keeps getting the next row until there are no more to get
while($row = mysql_fetch_array( $result )) {
// Print out the contents of each row into a table
mysql_query("INSERT INTO User_Rewards
(username, reward_name, reward_image) VALUES('".$row['username']."', '".$reward."', '".$rewardimage."' ) ")
or die(mysql_error());
}
どうすればそれを行うことができますか?現時点では挿入を続けているためですが、それが必要なので、ユーザーが報酬を持っている場合は、そのユーザーに対して挿入を行わないでください。報酬は $reward の横に保存されます。