计算数量返回的结果通过一个数据库中的查询笨
-
01-10-2019 - |
题
我没有多少运气中检测时,数据库中的查询笨返回的零结果。我有一个很好的阅读笔记上PHP计功能,但是没有明智的!
我叫查询/视为遵从控制器:
$data['result'] = $this->search_model->do_search(set_value('name'));
$data['title'] = "Search results";
$this->load->view('search_view',$data);
图产生结果表对我来说好的但当我试图和陷阱的一个空的结果,该计数总是返回1:
我已经尝试了 if count(array($result))
只是 if count($result)
那么什么是一个很好的方式来获得的数?我使用的Fedora13PHP5.3.3在我开发的笔记本电脑。
解决方案
看看 $query->num_rows
(<-可以点击).
其他提示
最好的事情要做你的模式如下:
$query = $this->db->something()....
...
...
if ( $query->num_rows() > 0 )
{
return $query->result();
}
else
{
return FALSE;
}
然后在你的控制器或查看你会做到以下几点:
if ( !empty($my_db_result) )
{
......
}
这一过程使你做出回应的结果基于结果的类型。如果行可能被检索,这将返回阵列项目可以算通过PHP的count()function.由于第二块的检查,如果结果是空(请注意"虚假的"被视为是空的)你不会碰到任何问题(例如当使用foreach循环)并且可以指定要做什么情况下都没有结果。
尝试 if(isset($result) && count($result))
在你的查看文件内,如果声明您可以写代码你想要执行的当插入在数据库超过0...祝你好运!
如果你把 count($result)
在 if
声明然后,当它succeds,它只返回 1
.
你可以试试
$query->num_rows()
在一个不同的方式。
例如,我计数显示管理连接的答复用户的连接
数据库
在用户加表:[的状况][int][1]
在用户还我有:[作用][varchar][255]
更新执行1(onligne)登录在验证()
if($this->model_users->can_log_in($email,$pass)){
$update = array('status' => 1);
$this->model_users->update_onligne($email,$update);
redirect('main/members');
和模型:
public function update_onligne($email,$update){
$this->db->where('email',$email);
$this->db->update('users',$update);
return true;
}
更新状况,以在脱机的注销()
注销的控制器:
public function logout(){
$id = $this->session->userdata('id');
$update = array('status' =>0);
$this->model_users->logout($id,$update);
$this->session->sess_destroy();
redirect('main/login');
}
注销模型:
public function logout($id,$update){
$this->db->where('id',$id);
$this->db->update('users', $update);
return;
}
最Onligne:
控制器:
$data['admin_onligne'] = $this->model_users->count_onligne_admin();
$data['user_onligne'] = $this->model_users->count_onligne_users();
$this->load->view('template/page_left',$data);
该模型:
public function count_onligne_admin(){
$query = $this->db->query('SELECT COUNT(status) AS enligneadmin FROM users WHERE status=1 AND role="admin"')->row_object();
return $query->enligneadmin;
}
public function count_onligne_users(){
$query = $this->db->query('SELECT COUNT(status) AS enligneuser FROM users WHERE status=1 AND role="etudiant"')->row_object();
return $query->enligneuser;
}
观众
<span><?php echo $user_onligne ;?> User en ligne</span>
<span><?php echo $admin_onligne ;?> Admin en ligne</span>
我dowing这个和它workd我
控制器
$id = $this->session->userdata('id');
if($this->model_users->if_user_dont_have_email($id)){
....
}
模型用户
public function if_user_dont_have_email($id){
$query = $this->db->query("SELECT email FROM users WHERE id='$id'");
if ($query->num_rows() > 0) {
$row = $query->row_array();
if(empty($row['email'])){
return true;
}else{
return false;
}
}
}