私はグループを作成しました。私がしたいのは、参加ボタンが非表示にするグループに参加するときです。私はそれを行う方法はわかりません.. tbl_groupは作成されたグループのリストです。グループに参加すると、idはdiffテーブルに保存されます。このコードはグループのすべてのリストを表示するためのものです。データベースにデータを保存した後にボタンを非表示にする
group.php
<?php
$db = new Group($conn);
$res = $db->g_viewlist();
foreach ($res as $key => $value){
?>
<div class="col-lg-12" align="center" style="border:1.5px solid #59960b;padding-bottom:10px;padding-top:10px;">
<button class="btn2 btn-2 join" data-id="<?php echo $value['g_id']; ?>" data-toggle="modal" data-target="#joinModal" style="padding: 2px 2px;margin-left:50%"><strong> Join</strong></button>
<img src="./<?php echo $value['g_image']; ?>"class="pull-left" class="img-square" height="70" width="70" alt="Avatar">
<p align="left">
<strong class="font-1" style="color:#59960b;"><?php echo $value['g_name'];?> </strong><br>
<small style="font-family:courier,'new courier';" class="text">Member Since 2008<br></small>
<small style="font-family:courier,'new courier';" class="text-muted">Description:<?php echo $value['g_desc']; ?></small><br>
</p>
</div>
<?php
}
?>
グループのすべてのリストを表示するためのSQLクエリ。
public function g_viewlist(){
$sql = "SELECT * FROM tbl_group ";
$result = $this->dbh->prepare($sql);
$result->execute();
$data = array();
while($row = $result->fetch(PDO::FETCH_ASSOC)){
$data[] = $row;
}
return $data;
}
この表Iは、ユーザIDとグループIDを格納する場合、これは必要に
@AlfieGaring私の答えは依然として立っています。あなたが 'tbl_group'を照会しているのと同じ方法で、' tbljoingroup'を照会してユーザーのグループのリストを取得します。ログインしたユーザーのデータを取得し、 'foreach'の中で' foreach'を使用して、 – Linek
なので、ユーザーがグループのメンバーであるかどうかを確認するために別の 'foreach'を作成する必要があります。 <?php if($ value ['g_id'])){?> 'グループのIDを参照していないユーザーのID ...あなたの答えを編集できますか? –
@ AlfieGaringあなたは1人のユーザーしかログインしていません、そのセッションのデータはありますか?私は私の例ではオブジェクトである '$ user'変数でこのユーザを参照しました。このオブジェクトに、現在ログインしているユーザーのデータをそのIDのように保存する必要があります。次に、このクラス 'memberOf($ groupId)'に、ユーザーがメンバーである(データベースからの)グループを検索し、 '$ groupId'が' foreach'ループを使っているかどうかをチェックするメソッドを作成します。 – Linek