Nano Hash - криптовалюты, майнинг, программирование

Я получаю сообщение об ошибке неподдерживаемые операнды \libraries\Pagination.php, когда пытаюсь поместить разбиение на страницу результатов

**This is my controller**
$this->load->library("pagination");  
$this->load->helper('url');
$this->load->view('includes/kheader');
$this->load->view('includes/kmenu');

$per_page=$this->input->post('per_page');
$look = $this->input->post('look');
$age = $this->input->post('age'); 
$age_from = $this->input->post('age_from');
$age_to = $this->input->post('age_to');
$se_ct = $this->input->post('sect');
$subsect = $this->input->post('subsect');
$coun_try = $this->input->post('country');
$sta_te = $this->input->post('state');
$ci_ty = $this->input->post('city');
$qualification = $this->input->post('qualification');

        $data['base']=$this->config->item('base_url');
        $data['title']= 'Message form';
        $this->load->model("searchresultss");
     $per_pg=1;
        $offset=$this->uri->segment(2);
        $total=$this->searchresultss->login($per_pg,$offset,$per_page,$look,$age, $age_to,$age_from,$se_ct,$subsect,$coun_try,$sta_te, $ci_ty, $qualification);


        $this->load->library('pagination');
        $config['base_url'] = $data['base'].'/searchresult/users/';
        $config['total_rows'] = $total;
        $config['per_page'] = $per_pg;
        $config['full_tag_open'] = '<div id="pagination">';
        $config['full_tag_close'] = '</div>';

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

        $data['query']=$this->searchresultss->login($per_pg,$offset,$per_page,$look,$age, $age_to,$age_from,$se_ct,$subsect,$coun_try,$sta_te, $ci_ty,$qualification);
    $this->load->view('searchresult',$data);

**Это моя модель**

 public function login($per_page=3,$look,$age,$age_to,$age_from,$se_ct,$subsect,$coun_try, $sta_te, $ci_ty,$qualification,$per_pg,$offset)
 {
       $query=$this->db->get('users',$per_pg,$offset);
        return $query->result();
 }
     public function message_count()
    {
        return $this->db->count_all("SELECT *
FROM users
WHERE  

if('$se_ct'!='',sect =  '$se_ct' AND if('$subsect' !='',subsect =  '$subsect',subsect like  '%%'),sect like  '%%' AND subsect like  '%%')
AND
IF( '$coun_try' !='', country =  '$coun_try'
AND 
if('$sta_te' !='', state =  '$sta_te'
AND  
if('$ci_ty' !='',city =  '$ci_ty',city like  '%%'),state LIKE  '%%'
AND city LIKE  '%%'), country LIKE  '%%'
AND state LIKE  '%%'
AND city LIKE  '%%' ) 
AND age >=  '$age_from'
AND age <=  '$age_to'
AND 
IF('$qualification' !='',qualification =  '$qualification',  qualification LIKE  '%%' ) 
And gender = '$look'
And status='1'");
    }

Я новичок в ci framework, дело в том, что я пытаюсь поместить разбиение на страницы на моей странице результатов выше упомянутым способом, когда я это делаю, я получаю сообщение об ошибке неподдерживаемые операнды \libraries\pagination.php, поэтому прошу вас помочь мне Неустранимая ошибка: неподдерживаемые типы операндов в H:\xampp\htdocs\kkci\system\libraries\Pagination.php on line 124 это ошибка, которую я получаю


  • Можете ли вы указать точную ошибку в вопросе? :) 30.07.2014
  • я поставил ошибку в последней строке вопроса 30.07.2014
  • Неустранимая ошибка: неподдерживаемые типы операндов в H:\xampp\htdocs\kkci\system\libraries\Pagination.php в строке 124 - это ошибка, которую я получаю 30.07.2014
  • Причина, по которой вы получаете указанную выше ошибку, заключается в том, что count_all() ожидает имя таблицы, а не запрос. Затем эта ошибка передается в библиотеку разбивки на страницы, где ожидается целое число, потому что это не целое число, которое нельзя разделить на него, поэтому выдается эта ошибка. 31.07.2014

Ответы:


1

Ваша проблема в том, что вы назначаете массив вместо числа в $config['total_rows']

Вы получаете это значение, вызывая функцию входа в свою модель.

$total=$this->searchresultss->login($per_pg,$offset,$per_page,$look,$age, 
$age_to,$age_from,$se_ct,$subsect,$coun_try,$sta_te, $ci_ty, $qualification);

затем вы назначаете его $config['total_rows'] = $total;

Однако в вашей модели функция написана для возврата массива:

  public function login($per_page=3,$look,$age,$age_to,$age_from,$se_ct,
  $subsect,$coun_try, $sta_te, $ci_ty,$qualification,$per_pg,$offset)
     {
           $query=$this->db->get('users',$per_pg,$offset);
            return $query->result(); //this is an array that is returned
     }

Чтобы исправить это, я считаю, что вы можете назначить счетчик набора результатов переменной total_rows:

$config['total_rows'] = count($total);
30.07.2014

2

в вашей модели сделайте этот код

 function message_count()
 {
     $q=$this->db-get('tbl_name');
     return $q->num_rows();

  }//now your code in count was correct, or if you want to query your sql syntax the code below
 function message_count()
 {
     $q= $this->db->query("SELECT *
         FROM users
         WHERE  

         if('$se_ct'!='',sect =  '$se_ct' AND if('$subsect' !='',subsect =  '$subsect',subsect like  '%%'),sect like  '%%' AND subsect like  '%%')
         AND
         IF( '$coun_try' !='', country =  '$coun_try'
         AND 
         if('$sta_te' !='', state =  '$sta_te'
         AND  
         if('$ci_ty' !='',city =  '$ci_ty',city like  '%%'),state LIKE  '%%'
         AND city LIKE  '%%'), country LIKE  '%%'
         AND state LIKE  '%%'
         AND city LIKE  '%%' ) 
         AND age >=  '$age_from'
         AND age <=  '$age_to'
         AND 
         IF('$qualification' !='',qualification =  '$qualification',  qualification LIKE  '%%' ) 
         And gender = '$look'
         And status='1'");

         return $q->num_rows();

   }

после этого выполните приведенный ниже код для разбиения на страницы

 public function login($per_page=3,$look,$age,$age_to,$age_from,$se_ct,$subsect,$coun_try, $sta_te, $ci_ty,$qualification,$per_pg,$offset)
  {
      $query=$this->db->get('users',$per_pg,$offset);
       return $query; //don't append the ->result() in the return of of this code when using pagination
  }  

в вашем контроллере

$data['records']=$this->model_name->login($parameters here);
$this->load->view('view_name',$data);

на ваш взгляд, сделайте этот код

    <?php 
          echo $this->table->generate($records);
          echo $this->pagination->create_links();

     ?>

надеюсь, это решит вашу проблему

31.07.2014
  • как можно вызвать логин? 31.07.2014
  • Объект класса CI_DB_mysql_result не удалось преобразовать в int 31.07.2014
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..