Разбиение кода на Igniter не возвращает все строки с одинаковыми параметрами

Я относительно новичок в Code Igniter и пытаюсь впервые использовать класс нумерации Code Igniter. Я пытаюсь получить несколько строк в моей таблице базы данных, в зависимости от состояния, lga и категории, выбранной пользователем. Эти три передаются в функцию в качестве параметров. Я следовал процессу, который я нашел на SO и некоторых других сайтах, чтобы реализовать разбиение на страницы на странице, и, похоже, он работает, за исключением того, что он не возвращает все строки, которые имеют указанные параметры.

Это то, что у меня есть:

Модель — Posts_model.php

public function count_lga_cat_posts($state, $lga, $category) {
return $this->db->get_where('lga_posts', array('state' => $state, 'lga' => $lga, 'category' => $category, 'display' => 'true'))->num_rows();
}

public function fetch_lga_cat_data($limit, $start) {
$this->db->limit($limit, $start);
$this->db->order_by("id", "desc");
$query = $this->db->get("lga_posts");
if ($query->num_rows() > 0) {
foreach ($query->result() as $row) {
$data[] = $row;
}
return $data;
}
return false;
}

Контроллер — Lga_posts.php

public function selected_state_lga_posts_category($state, $lga, $category)
{
//config for pagination
$config = array();
$uri_seg = 5;
$config["base_url"] = base_url('state2/'.$state.'/'.$lga.'/'.$category); //as specified in routes
$config["total_rows"] = $this->posts_model->count_lga_cat_posts($state, $lga, $category);
$config["per_page"] = 3;
$config["uri_segment"] = $uri_seg;
$config['use_page_numbers'] = TRUE;
$config['cur_tag_open'] = '&nbsp;<a class="current">';
$config['cur_tag_close'] = '</a>';
$config['first_link'] = 'Back to first page';
$config['next_link'] = 'View more posts';
$config['prev_link'] = 'Previous posts';
$config['last_link'] = 'Jump to last page';
$config['display_pages'] = FALSE;

$this->pagination->initialize($config);
$page = ($this->uri->segment($uri_seg))? $this->uri->segment($uri_seg) : 0;
$this->db->where(array('state' => $state, 'lga' => $lga, 'category' => $category, 'display' => 'true'));
$data["results"] = $this->posts_model->fetch_lga_cat_data($config["per_page"], $page);
$str_links = $this->pagination->create_links();
$data["links"] = explode('&nbsp;',$str_links );
$data['state'] = $state;
$data['lga'] = $lga;
$data['category'] = $category;
$this->load->view('posts/lga/selected_state_lga_posts_category', $data);

Когда я загружаю эту страницу, кажется, что все работает нормально, ссылки на страницы работают должным образом, но некоторые строки в таблице не извлекаются, даже если они имеют те же параметры, что и те, которые были извлечены и отображены. Если я изменю конфигурацию per_page на 1, последняя страница выдает ошибку «Недопустимый аргумент в foreach» или что-то подобное. Интересно, это как-то связано с моим запросом, поскольку я не хочу получать все строки в таблице, а те, которые имеют выбранные параметры, то есть state, lga и category.

Может кто-нибудь указать мне, что я делаю не так?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector