バッジのロックを解除したことをユーザーに通知する最善の方法について、アイデアをブレインストーミングしてきました。瞬間的またはライブである必要はありません。少なくともダッシュボードを表示するたびに、ステータスを確認して表示するために実行されると考えていました。これが私が考えてきた一般的な方向性です。
私は2つのテーブルを持っています。1 つはBadge_statusと呼ばれ、もう 1 つはusersテーブルです。
users テーブルには、ユーザーと、Badge1、Badge2、Badge3 などのバッジ フィールドがあります。バッジ フィールドのデフォルト値は「ロック」に設定されています。ユーザーがバッジのロックを解除するために適切なアクションを実行すると、フィールドは「ロック解除」されます
通知用にこのような設定を考えていましたが、やり過ぎなのか、それとももっと簡単な方法があるのか 疑問に思っていますか?
<?php
$db = new PDO('mysql:host=hostname;dbname=dbname;charset=UTF-8', 'username', 'password');
$username = $_SESSION['jigowatt']['username'];
$statement = $db->prepare("SELECT badge1, badge1_status FROM login_users, status_table WHERE username = :username");
$badge1 = $row['badge1'];
$badge1_status = $row['badge1_status'];
if($badge1_status == "finished") {
}
else if($badge1 =="unlocked") {
// Show fade in pop up div for notification <div id="notification-div">Badge Unlocked!</div>
$setBadgeValue = $db->prepare("UPDATE status_table SET badge1_status='finished' WHERE username= :username");
}
<?
バッジ 1 のステータスが「終了」の場合、2 番目のテーブルを設定し、何もしないので、通知が 1 回だけ表示されるようにします。
完了しておらず、badge1 のステータスが「ロック解除」されている場合は、通知 DIV を表示し、badge1_status のテーブルに「完了」として書き込みます。
ちなみに、私はまだ適切な PDO に変換中です。このセットアップに関するアドバイス、ヒント、または改善をありがとうございます!