将数据保存到数据库后隐藏按钮

时间:2017-03-22 08:53:27

标签: php mysql

我创建了一个组,我想要做的是当我加入组时,加入按钮应隐藏。但我不知道该怎么做.. tbl_group是创建组的列表,当你加入组时,id将保存在差异表上。此代码用于显示所有组列表。

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;
}

enter image description here 这个表是我存储用户ID和组ID的地方,这是一个差异表。假设来自tbl_group的g_id = 25和来自tbljoingroup enter image description here的group_id = 25

1 个答案:

答案 0 :(得分:0)

您需要检索用户是foreach循环内部成员的组数组,只需搜索此列表即可。如果用户是$value['g_id']的成员,则只需使用continue跳过循环迭代。

如果您只想隐藏按钮并仍显示其余代码,请执行以下操作:

<?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;">
    <?php if (!$user.memberOf($value['g_id'])) { ?>
      <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>
    <?php } ?>

    <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
}
?>

如果您在$user中保存了用户对象,则创建memberOf()方法,如果用户是该组的成员,则返回true,否则返回false

注意:不要在每次memberOf()执行时搜索数据库。执行一次并将结果保存在对象的属性中以便重复使用。