繁体   English   中英

如何在CodeIgniter中检查数据库的表中是否有值

[英]How to check if there are values in a table in the database in CodeIgniter

我正在创建一个项目,在该项目中,我要验证某个用户是否在表中插入了数据,如果有,请显示该数据。 我是CodeIgniter的新手,我不确定如果登录后如何显示某个用户的所有列表。

到目前为止,这是我模型中的内容:

 public function get_all_lists($user_id){
            $this->db->where('list_creator_id', $user_id);
            $query = $this->db->get('lists');

            return $query->result();    
        }

这是我的看法:

<li class="list-group-item">
                <a href="<?php echo base_url();?>project_controllers/lists/create" class="btn btn-success pull-right">
                    Create a List
                </a>
                <h3 align="center">
                    <a href="<?php echo base_url();?>project_controllers/lists/display/<?php echo $list->id;?>">
                        <?php echo $list->list_name; ?>
                    </a>            
                </h3>
            </li>
        <?php endforeach; ?>

这就是我的控制器上的内容:

public function index(){
        $user_id = $this->session->userdata('user_id');
        $this->load->model('project_models/lists_model');

        $data['lists'] = $this->lists_model->get_all_lists($user_id);

        $data['main_view'] = "project_views/lists/index";

        $this->load->view('project_views/layouts/main', $data);
    }

我的目标是在显示某个用户登录时创建的所有列表。如果该用户已经登录并且尚未创建任何列表,我希望显示一条消息, “您没有创建了任何列表”

使用num_rows()返回对象或false。

public function get_all_lists($user_id){
            $this->db->where('list_creator_id', $user_id);
            $query = $this->db->get('lists');
            if ($query->num_rows() > 0) {
                return $query->result(); 
            }
            return false;
        }

用法:

if ($lists) {
    foreach(...) {

    }
} else {
    echo 'no rows';
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM