現在、私は 3 つの MySQL テーブルを持っています。1 つはユーザー情報、もう 1 つはコース履歴、最後の 1 つは報酬履歴です。
この 2 つのデータベースと PHP スクリプトを使用して、「報酬」プログラムを作成しようとしています。報酬の要件に関しては、2 種類の報酬用に 2 つの配列をセットアップしています。
//Pen Reward with course A & B required
$pen=array("a","b")
//Cup Reward with course B & C required
$cup=array("b","c")
最初にすべてのユーザー ID を照会してから、その履歴を調べる方法がわかりません。上記の要件に一致する場合は、報酬テーブルを 1 に更新します (報酬を受け取ったことを示すため)。
ユーザーDB
userid name
----------------
1 bill
2 john
3 steve
履歴DB
userid courseid
------------------
1 a
1 b
2 b
3 a
3 c
報酬履歴DB
userid pen cup
---------------------
1 0 0
2 0 0
3 0 0
理想的には、PHP スクリプトの実行後に RewardHistoryDB を更新して、ユーザー 1 がペンを受け取り、ユーザー 3 がカップを受け取ったことを反映します (DB は次のようになります:)
RewardHistoryDB (後)
userid pen cup
---------------------
1 1 0
2 0 0
3 0 1
これが私が現在使用しているPHPコードです(完全ではありません):
$userid=array();
$i=0;
//Find All users
$result = mysqli_query($con,"SELECT userid FROM usersdb")
while ($row = mysqli_fetch_array($result)){
$universityid[$i]=$row['universityid'];
$i++;
}
//Find History
$courseid=array();
foreach ($userid as $userid1){
$result = mysqli_query($con,"SELECT courseid FROM historydb WHERE userid='".$userid1."'");
while ($row = mysqli_fetch_array($result)){
$courseid[]=$row;
}
}
//Update Reward DB
//Don't even know where to start...
どんな助けでも大歓迎です。ご不明な点がございましたら、お気軽にお問い合わせください。
よろしくお願いします!