CodeIgniter中带搜索过滤器的分页
当我搜索关键字并对其分页时,它会返回与数据库中的like查询匹配的数据 遇到一个PHP错误 严重性:警告 Message:count():参数必须是数组或实现可计数的对象 文件名:admin/view_member.php 电话号码:105 回溯: 文件:C:\xampp\htdocs\cms\u new\application\views\admin\view\u member.php 电话号码:105 函数:\u错误\u处理程序 文件:C:\xampp\htdocs\cms\u new\application\controllers\admin\Member.php 电话号码:63 功能:查看 文件:C:\xampp\htdocs\cms\u new\index.php 电话号码:315 功能:需要一次 我的控制器CodeIgniter中带搜索过滤器的分页,codeigniter,Codeigniter,当我搜索关键字并对其分页时,它会返回与数据库中的like查询匹配的数据 遇到一个PHP错误 严重性:警告 Message:count():参数必须是数组或实现可计数的对象 文件名:admin/view_member.php 电话号码:105 回溯: 文件:C:\xampp\htdocs\cms\u new\application\views\admin\view\u member.php 电话号码:105 函数:\u错误\u处理程序 文件:C:\xampp\htdocs\cms\u new\ap
$search = ($this->input->post("member_name"))? $this->input->post("member_name") : "NIL";
$search = ($this->uri->segment(3)) ? $this->uri->segment(3) : $search;
// pagination settings
$config = array();
$config['base_url'] = site_url("admin/member/index/$search");
$config['total_rows'] = $this->Model_member->record_count($search);
$config['per_page'] = "3";
$config["uri_segment"] = 4;
$choice = $config["total_rows"]/$config["per_page"];
$config["num_links"] = floor($choice);
// integrate bootstrap pagination
$config['full_tag_open'] = '<ul class="pagination">';
$config['full_tag_close'] = '</ul>';
$config['first_link'] = false;
$config['last_link'] = false;
$config['first_tag_open'] = '<li>';
$config['first_tag_close'] = '</li>';
$config['prev_link'] = 'Prev';
$config['prev_tag_open'] = '<li class="prev">';
$config['prev_tag_close'] = '</li>';
$config['next_link'] = 'Next';
$config['next_tag_open'] = '<li>';
$config['next_tag_close'] = '</li>';
$config['last_tag_open'] = '<li>';
$config['last_tag_close'] = '</li>';
$config['cur_tag_open'] = '<li class="active"><a href="#">';
$config['cur_tag_close'] = '</a></li>';
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
$this->pagination->initialize($config);
$data['page'] = ($this->uri->segment(4)) ? $this->uri->segment(4) : 0;
// get books list
$data['users'] = $this->Model_member->fetch_data($config['per_page'], $data['page'], $search);
$data['pagination'] = $this->pagination->create_links();
$this->load->view('admin/view_header',$data);
$this->load->view('admin/view_member',$data);
$this->load->view('admin/view_footer');
$search=($this->input->post(“成员名称”))$此->输入->发布(“成员名称”):“无”;
$search=($this->uri->segment(3))$此->uri->段(3):$search;
//分页设置
$config=array();
$config['base_url']=site_url(“admin/member/index/$search”);
$config['total_rows']=$this->Model_member->record_count($search);
$config['per_page']=“3”;
$config[“uri_段”]=4;
$choice=$config[“总计行数”]/$config[“每页数”];
$config[“num_links”]=楼层($choice);
//集成引导分页
$config['full_tag_open']=';
$config['full_tag_close']='
';
$config['first_link']=false;
$config['last_link']=false;
$config['first_tag_open']='';
$config['first_tag_close']=' ;
$config['prev_link']='prev';
$config['prev_tag_open']='';
$config['prev_tag_close']=' ;
$config['next_link']='next';
$config['next_tag_open']='';
$config['next_tag_close']=' ;
$config['last_tag_open']='';
$config['last_tag_close']=' ;
$config['cur_tag_open']=';
$config['num_tag_open']='';
$config['num_tag_close']=' ;
$this->pagination->initialize($config);
$data['page']=($this->uri->segment(4))$此->uri->段(4):0;
//获取图书列表
$data['users']=$this->Model_member->fetch_data($config['per_page'],$data['page'],$search);
$data['pagination']=$this->pagination->create_links();
$this->load->view('admin/view_header',$data);
$this->load->view('admin/view\u member',$data);
$this->load->view('admin/view_footer');
我的模型
function fetch_data($limit, $start, $st = NULL)
{
if($st == "NIL")
$st = "";
$this->db->select('*');
$this->db->from('tbl_member');
$this->db->like('member_name', $st);
$this->db->or_like('member_email', $st);
$this->db->limit($limit, $start);
$query = $this->db->get();
if ($query->num_rows() > 0) {
//var_dump($query->result());
foreach ($query->result() as $row) {
$data[] = $row;
}
//print_r($query);
return $data;
}
if ($query->num_rows() == 0) {
$this->session->set_flashdata('recoard','<div class="alert alert-danger text-center">Record Not Found! </div>');
}
return false;
}
function record_count($st = NULL)
{
if($st == "NIL")
$st = "";
$this->db->select('*');
$this->db->from('tbl_member');
$this->db->like('member_name', $st);
$this->db->or_like('member_email', $st);
$query = $this->db->get();
return $query->num_rows();
var_dump($query->num_rows());
}
函数获取数据($limit,$start,$st=NULL)
{
如果($st==“零”)
$st=”“;
$this->db->select('*');
$this->db->from('tbl_成员');
$this->db->like('member\u name',$st);
$this->db->或类似('member\u email',$st);
$this->db->limit($limit,$start);
$query=$this->db->get();
如果($query->num\u rows()>0){
//变量转储($query->result());
foreach($query->result()作为$row){
$data[]=$row;
}
//打印(查询);
返回$data;
}
如果($query->num_rows()==0){
$this->session->set_flashdata('recoard','Record Not Found!');
}
返回false;
}
函数记录计数($st=NULL)
{
如果($st==“零”)
$st=”“;
$this->db->select('*');
$this->db->from('tbl_成员');
$this->db->like('member\u name',$st);
$this->db->或类似('member\u email',$st);
$query=$this->db->get();
返回$query->num_rows();
var_dump($query->num_rows());
}
我的看法
<?php
$user = count($users);
var_dump($user);
for ($i = 0; $i < $user; ++$i) {
if(! $users ){
// Faild Message
echo $this->session->flashdata('recoard');
}
else {
?>
<tbody>
<tr>
<td class="text-center"><img class="rounded-circle img-fluid avatar-40" src="<?php echo base_url();; ?>public/uploads/<?php echo $users[$i]->member_photo; ?>" alt="profile"></td>
<td><?php echo $users[$i]->member_name; ?></td>
<td><?php echo $users[$i]->member_email; ?><br>
<?php echo $users[$i]->member_mobile; ?></td>
<td><?php echo $users[$i]->member_city; ?><br>
<?php echo $users[$i]->member_state; ?><br>
<?php echo $users[$i]->member_country; ?></td>
<td><?php echo $users[$i]->member_address; ?></td>
<td>
<?php
if($users[$i]->member_access == 1)
{
echo '<span class="badge iq-bg-primary">Active</span></td>';
}
else
{
echo '<span class="badge iq-bg-warning">Inactive</span></td>';
}
?>
</td>
<td>
<div class="flex align-items-center list-user-action">
<a data-toggle="tooltip" data-placement="top" title="" data-original-title="Change Status" href="<?php echo base_url(); ?>admin/member/change_status/<?php echo $users[$i]->member_id; ?>" onClick="return confirm('Are you sure?');"><i class="ri-user-add-line"></i></a>
<a data-toggle="tooltip" data-placement="top" title="" data-original-title="Edit" href="<?php echo base_url(); ?>admin/member/edit/<?php echo $users[$i]->member_id; ?>"><i class="ri-pencil-line"></i></a>
<a data-toggle="tooltip" data-placement="top" title="" data-original-title="Delete" href="<?php echo base_url(); ?>admin/member/delete/<?php $users[$i]->member_id; ?>" onClick="return confirm('Are you sure?');"><i class="iq-bg-danger ri-delete-bin-line"></i></a>
</div>
</td>
</tr>
</tbody>
<?php } } ?>
公共/上传/“alt=“profile”>
您似乎没有返回要计数和循环的数组,这就是为什么会出现警告
此外,循环中还有失败的消息,这将在以后产生更多错误。
希望这对你有帮助和效果
<?php
if (!$users || !is_array($users)) {
// Faild Message
echo $this->session->flashdata('recoard');
} else {
foreach ($users as $user) { ?>
<tbody>
<tr>
<td class="text-center"><img class="rounded-circle img-fluid avatar-40" src="<?php echo base_url("public/uploads/"); ?><?php echo $user->member_photo; ?>" alt="profile"></td>
<td><?php echo $user->member_name; ?></td>
<td><?php echo $user->member_email; ?><br>
<?php echo $user->member_mobile; ?></td>
<td><?php echo $user->member_city; ?><br>
<?php echo $user->member_state; ?><br>
<?php echo $user->member_country; ?></td>
<td><?php echo $user->member_address; ?></td>
<td>
<?php
if ($user->member_access == 1) {
echo '<span class="badge iq-bg-primary">Active</span></td>';
} else {
echo '<span class="badge iq-bg-warning">Inactive</span></td>';
}
?>
</td>
<td>
<div class="flex align-items-center list-user-action">
<a data-toggle="tooltip" data-placement="top" title="" data-original-title="Change Status" href="<?php echo base_url(); ?>admin/member/change_status/<?php echo $user->member_id; ?>" onClick="return confirm('Are you sure?');"><i class="ri-user-add-line"></i></a>
<a data-toggle="tooltip" data-placement="top" title="" data-original-title="Edit" href="<?php echo base_url(); ?>admin/member/edit/<?php echo $user->member_id; ?>"><i class="ri-pencil-line"></i></a>
<a data-toggle="tooltip" data-placement="top" title="" data-original-title="Delete" href="<?php echo base_url(); ?>admin/member/delete/<?php $user->member_id; ?>" onClick="return confirm('Are you sure?');"><i class="iq-bg-danger ri-delete-bin-line"></i></a>
</div>
</td>
</tr>
</tbody>
<?php }
} ?>
“alt=”profile“>
您使用的是什么版本的PHP?从PHP7.2开始,如果您试图在未设置的变量上使用方法count,它将抛出一个错误。