我正在创建一个项目,我想验证是否有某个用户插入到表中的数据,如果有的话显示它。我对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';
}