在表中显示特定用户数据时出现问题?

时间:2018-08-15 11:35:05

标签: codeigniter

我想显示所有状态为0的用户都显示在表中。对于每个用户数据,当管理员单击该详细信息时,都有一个详细信息按钮,有关用户的所有信息都显示在表单中。在查看了用户的所有信息之后,管理员对“验证”或“拒绝”用户采取了措施。问题是,当表中的数据增加时,“验证”和“拒绝”链接的形式也将增加如何解决此问题问题。

表中的用户数据:

enter image description here

问题:

enter image description here

查看:

<div class="imageGallery" style="height: auto; width: 75%; /*background:grey;*/ margin: 0px auto;">
                    <?php foreach($gallery as $image):?>
                    <div class="image" style=" width:100%; max-width:205px;  display: inline-block;" >
                        <img src="<?php if($image['path'] !=null){ echo base_url()."assets/users/".$image['user_id']."/".$image['path'];}?>" style="width:200px; height:200px; padding:5px; margin-left: 110px  "/>
                    </div>
                    <?php endforeach;?>
                </div>

                <!--<input type="hidden" name="id" value=?>">-->
                <div class="row" style="padding-top: 30px; padding-bottom: 30px;">
                    <div class="col-sm-6 col-sm-offset-3" style="margin-left: 344px">
                        <?php foreach($users as $user):?>
                            <a style="text-decoration: none; float: right" href="<?php echo base_url();?>verifyUserEmail/<?php echo $user->email; ?>/<?php echo $user->id; ?>" class="btn btn-link">Verify</a>
                            <a style="text-decoration: none; float: right" href="<?php echo base_url();?>rejectedUser/<?php echo $user->email; ?>/<?php echo $user->id; ?>" class="btn btn-link">Rejected</a>
                        <?php endforeach; ?>
                        <button type="submit" class="btn btn-default" style="float: right;">Update</button>
                    </div>

                </div>

控制器:

function editUser($id)
    {
        {
            $data["userdetail"] = $this->AdminModel->getUserDetails($id);
            $data["gallery"] = $this->AdminModel->getUserGallery($id);
            $data['users'] = $this->AdminModel->getRoleStatusUsers();


            $this->load->view('Admin/includes/header');
            $this->load->view('User/edituser', $data);
            $this->load->view('Admin/includes/footer');
        }
    }

型号:

public function userEdit($id, $data){

        $this->db->where('id', $id);
        $result = $this->db->update('mh_users', $data);
        if ($result === FALSE)
        {
            show_error('error !');
        }
        return $result;
    }

    public function getUserDetails($id){
        $this->db->select()->from('mh_users')->where('id',$id)->limit(1);
        $query = $this->db->get();
        return $query->result_array();
    }

    public function getUserGallery($id){
        $this->db->select()->from('mh_user_media')->where('user_id',$id);
        $query = $this->db->get();
        return $query->result_array();
    }

1 个答案:

答案 0 :(得分:0)

由于在foreach循环中有“验证”和“已拒绝”按钮,因此对于您拥有的每个用户,它们都会重复。因此,如果您有10个用户,则将有10对“验证”和“拒绝”按钮。

只需从foreach循环中删除按钮即可删除重复项,即

<div class="row" style="padding-top: 30px; padding-bottom: 30px;">
         <div class="col-sm-6 col-sm-offset-3" style="margin-left: 344px">
              <a style="text-decoration: none; float: right" href="<?php echo base_url();?>verifyUserEmail/<?php echo $user->email; ?>/<?php echo $user->id; ?>" class="btn btn-link">Verify</a>
              <a style="text-decoration: none; float: right" href="<?php echo base_url();?>rejectedUser/<?php echo $user->email; ?>/<?php echo $user->id; ?>" class="btn btn-link">Rejected</a>
              <button type="submit" class="btn btn-default" style="float: right;">Update</button>
        </div>
</div>

为确保传递正确的用户信息,请将特定用户传递给视图/窗体,而不是用户数组/对象。