CI нумерация страниц, метод POST не работает - PullRequest
1 голос
/ 10 апреля 2010

Хорошо, я довольно новичок в CI и застрял на нумерации страниц. Я выполняю эту нумерацию страниц для набора записей, который является результатом запроса. Теперь все, кажется, работает нормально. Но есть некоторая проблема, вероятно, со ссылкой. Я показываю 10 результатов на странице. Теперь, если результаты меньше 10, тогда все в порядке. Или, если я вытащить все записи в таблице, это работает нормально Но если результат больше 10 строк, то первые 10 отлично отображаются, и когда я нажимаю на ссылку нумерации страниц, чтобы перейти на следующую страницу, на следующей странице отображаются остальные результаты запроса, а также другие записи в таблице. ??? Я в замешательстве .. Любая помощь ??

Вот код модели, который я использую ....

function getTeesLike($field,$param)
{
    $this->db->like($field,$param);
    $this->db->limit(10, $this->uri->segment(3));
    $query=$this->db->get('shirt');
    if($query->num_rows()>0){
        return $query->result_array();
    }
}

function getNumTeesfromQ($field,$param)
{
    $this->db->like($field,$param);
    $query=$this->db->get('shirt');
    return $query->num_rows();
}

А вот код контроллера ....

$KW=$this->input->post('searchstr');
$this->load->library('pagination');
$config['base_url']='http://localhost/cit/index.php/tees/show/';
$config['total_rows']=$this->T->getNumTeesfromQ('Title',$KW);
$config['per_page']='10';
$this->pagination->initialize($config);
$data['tees']=$this->T->getTeesLike('Title',$KW);
$data['title']='Displaying Tees data';
$data['header']='Tees List';
$data['links']=$this->pagination->create_links();
$this->load->view('tee_res', $data);

Что я тут не так делаю ???? Просьба помочь ...

Полагаю, проблема в $KW=$this->input->post('searchstr'); .. Потому что, если я жестко закодирую значение для $KW, оно будет работать нормально. Может быть, я должен использовать POST по-другому .. но как я передаю значение из формы без POSTING его, его CI, а не GET ... ??????

1 Ответ

0 голосов
/ 08 июня 2015

In Контроллер

<?php

$KW=$this->input->post('searchstr');
$this->load->library('pagination');

$count = $this->model_name->getNumTeesfromQ($KW);//Count


$config['base_url']= base_url().'index.php/tees/show/';
$config['total_rows']= $count;
$config['per_page']='10';
$config['uri_segment'] = 4;
$limit = $config['per_page'];

$this->pagination->initialize($config);
$page = ($this->uri->segment(4)) ? $this->uri->segment(4) : 0;
$data['links'] = $this->pagination->create_links();


$data['tees']=$this->model_name->getTeesLike($KW,$limit,$page);
$data['title']='Displaying Tees data';
$data['header']='Tees List';

$this->load->view('tee_res', $data);

В Модель

public function getNumTeesfromQ($KW)
{
    $query = $this->db->query("SELECT * FROM title WHERE table_field='$KW'");
    $result = $query->result_array();
    $count = count($result);
    return $count;
}

public function getTeesLike($KW,$limit,$page)
{
    $query = $this->db->query("SELECT * FROM title WHERE table_field='$KW' LIMIT $page, $limit");
    $result = $query->result_array();
    return $result;
}

в просмотр

echo все данные с использованием foreach

, затем в нижней части страницы используйте <?php echo $links; ?>, это покажет вашу пагинацию

...