php - 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';
}
推荐阅读
- csv - 使用 csv 文件为不同文件夹分离图像文件
- c++ - Extracting a particular data from a CSV file in c++
- tfs - 有什么方法可以将 Raspi 连接到用于 CD/CI 管道的 devops?
- azure - 使用 KQL 的设备信息
- r - R中的gsubfn,如何有条件地仅替换一组字符串中的第二组数字
- javascript - Angular:无法将值传递给 javascript (.js) 文件
- php - 我试图从 3 个(或更多)不同的行中生成一行,只显示一个图像
- java - Intellij IDEA 2020.1 使用包将资源复制到输出
- python - 如何解决python中的总线错误(核心转储)?
- html - 页脚相对并不总是在页面底部