php - Codeigniter 3.0.3 上的 num_rows 问题

标签 php codeigniter

当我使用CodeIgniter 3.0.3时,我遇到NUM_ROWS函数()无法正常工作的问题...

我有这样的代码:

Controller

function search()
{
      // Filter input keyword
      $keyword = $this->input->get('keyword');
      $data['searchtext'] = strip_tags($keyword);
      $check = strlen(preg_replace('/[^a-zA-Z0-9]/', '', $keyword));
      if($check > 3 && $check != NULL):

           if(isset($_GET['page']))
           {
                 $page = ($_GET['page'] != NULL) ? $this->security->xss_clean($_GET['page']) : 1;
            }
            else
            {
                 $page = 1;
            }

            $limit = 15;
            $total = $this->m_songs->total_data_search($keyword); 

            $config['base_url']  = site_url().'songs/search_keyword?keyword='.$keyword;
            $config['total_rows'] = $total;
            $config['per_page']  = $limit;
            $config['page_query_string'] = TRUE;
            $config['use_page_numbers'] = TRUE;
            $config['query_string_segment'] = 'page';
            $config['uri_segment']  = 4;
            $config['full_tag_open'] = '<ul class="pagination pagination-sm">';
            $config['full_tag_close'] = '</ul>';
            $config['first_tag_open'] = '<li>';
            $config['first_link'] = '&laquo; First';
            $config['first_tag_close'] = '</li>';
            $config['last_tag_open'] = '<li  class="last-page">';
            $config['last_link'] = 'Last &raquo;';
            $config['last_tag_close'] = '</li>';
            $config['next_link'] = '<span aria-hidden="true">&raquo;</span><span class="sr-only">Next</span>';
            $config['next_tag_open'] = '<li>';
            $config['next_tag_close'] = '</li>';
            $config['prev_link'] = '<span aria-hidden="true">&laquo;</span><span class="sr-only">Previous</span>';
            $config['prev_tag_open'] = '<li>';
            $config['prev_tag_close'] = '</li>';
            $config['cur_tag_open'] = '<li class="active"><a href="#">';
            $config['cur_tag_close'] = '</a></li>';
            $config['num_tag_open'] = '<li class="page">';
            $config['num_tag_close'] = '</li>';

            $this->pagination->initialize($config);

            $offset = ($page  == 1) ? 0 : ($page * $config['per_page']) - $config['per_page'];
            $result = $this->m_songs->get_paging_search($keyword,$limit,$offset);

            $data['pagination'] = $this->pagination->create_links();
            $data['total'] = $total;

            if($result)
            {
                 $data['offset'] = $offset;
                 $data['dummies'] = $result;
            }
            else
            {
                 $data['dummies'] = NULL;
            }
            else:
                    $data['total'] = 0;
                    $data['dummies'] = NULL;
                    $data['pagination'] = NULL;
            endif;


            $data['team'] = $this->m_home->get_team();
            $data['contact'] = $this->m_home->get_contact();
            $data['pagetitle'] = 'Songs Library';
            $data['title'] = 'Tirtasvara Choir & Chamber Orchestra';
            $data['body'] = $this->load->view('songs', $data, TRUE);

            $this->load->view('header');
            $this->load->view('songs',$data);
            $this->load->view('footer');
    }

型号

function total_data_search($keyword)
{
     $query = $this->db->like('no_reg', $keyword)
                       ->or_like('judul_lagu', $keyword)
                       ->or_like('pencipta', $keyword)
                       ->or_like('aransemen', $keyword)
                       ->or_like('penulis_lirik', $keyword)
                       ->or_like('genre', $keyword)
                       ->or_like('gaya', $keyword)
                       ->or_like('bahasa', $keyword)
                       ->or_like('tema', $keyword)
                       ->or_like('masa_liturgi', $keyword)
                       ->or_like('kelompok_ritus', $keyword)
                       ->get('database_lagu');

     if($query->num_rows > 0)
     {
          return $query->num_rows();
     }
     else
     {
         return NULL;
     }
}

查看

<div class="row">
   <div class="col-xs-12 col-sm-12 col-md-12">
     <?php if(isset($searchtext)): ?>
         <div class="alert alert-success" role="alert">
             <h4>Found <span class="text-info"><?php echo $total; ?></span> reference with keyword: <span class="text-info"><?php echo $searchtext;?></span></h4>
          </div>
      <?php endif; ?>
    </div>
 </div>

当我执行搜索函数并显示结果时,为什么该函数会生成空结果?

但是当我使用 CodeIgniter 2.X 时,一切都很顺利。 如果有人能帮忙解决这个问题吗?

sample picture when using Codeigniter 3.0.3

sample picture when using Codeigniter 2.X

最佳答案

您正在使用 $query->num_rows 作为 if 语句中的属性。将其用作方法:

 if($query->num_rows() > 0)
    {
        return $query->num_rows();
    }

有关此内容的更多信息,请访问 CI forums:

关于php - Codeigniter 3.0.3 上的 num_rows 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33554203/

相关文章:

php - 在 Facebook 页面上安排图片发布

php - html 中的奇怪 PHP

javascript - ajax 无法在 codeigniter 中工作,无法在 Controller 中发布或启动该方法

php - 如何在 codeigniter 中重定向到我指定的页面

codeigniter - chrome codeigniter redis 清除 session 问题

php - 交替颜色 HTML 表 PHP

php - 将数组存储到数据库中

php - 代码点火器, mysql

javascript - 无法使用 ajax 将值传递给 Codeigniter Controller

php - 如何在Codeigniter框架中获取mysql函数的参数?