「活動」を表示するアプリを作っています。各アクティビティには独自のボタンがあります。そのボタンをクリックすると、その特定のアクティビティが「ガイド」に追加されます。アイデアは、1 つの特定のアクティビティを 1 回だけ追加できるということです。したがって、そのアクティビティのボタンは、ガイドに追加されたときに非表示にする必要があります。javascriptでシンプルを使用できますが$(this).hide()
、ページを更新すると明らかに機能しません。したがって、ガイドにアクティビティが存在するかどうかを確認する必要があると思います。
データベースには、1: activity
( 付きActivityID
)、2: user
( 付きUserID
)、3: user_activity
(ActivityID
およびUserID
、リンクテーブル付き) の 3 つのテーブルがあります。
したがって、チェックActivityID
では、user_activity テーブルに が存在するかどうか、および user_activity テーブルにUserID
ある に属する がActivityID
現在のユーザーの ID と同じであるかどうかをチェックする必要があります。
現時点では、現在のユーザーの UserID を確認する方法を知っています。
//userid
$sql = "SELECT * FROM user WHERE Username = '".$_SESSION['Username']."' ";
$stm = $db->prepare($sql);
$result = $stm->execute(array());
while($row = $stm->fetch(PDO::FETCH_ASSOC)) {
$userid = $row['UserID'];
}
しかし、既に存在するかどうかを確認するActivityID
方法と、if else ステートメントを作成する方法がわかりません。
このスクリプトを使用してアクティビティを表示した瞬間(ボタンを含む)
$sql = "SELECT * FROM activity";
$stm = $db->prepare($sql);
$result = $stm->execute(array());
while($row = $stm->fetch(PDO::FETCH_ASSOC))
{
echo '<div id="activity'.$row['ActivityID'].'">';
echo '<img src="data:image/jpeg;base64,' . base64_encode( $row['ActivityIMG'] ) . '" >', '<br>';
$instantguide = $row['ActivityID'];
echo '<input type="button" class="addActivity" onclick="MakeRequest(' . $instantguide . ')" value="Activiteit toevoegen" data-activity="' . $row['ActivityID'] . '">';
echo '</div>';
}