大家好我是CodeIgniter和PHP的新手。
我正在尝试在我的某个页面上创建分页,但由于某种原因,我的代码不会在页面上显示分页。
view.php
</head>
<body>
<h1>Answer</h1>
<?php if (isset($records)) : foreach($records as $row) : ?>
<div = 'container'>
<?php
if (isset($pagination))
{
echo $pagination;
}
?>
<ul>
<h1><?php echo $row->question; ?></h1>
<li><?php echo $row->answer1; ?></li>
<li><?php echo $row->answer2; ?></li>
<li><?php echo $row->answer3; ?></li>
<li><?php echo $row->answer4; ?></li>
<li><?php echo $row->answer5; ?></li>
<li><?php echo $row->answer6; ?></li>
<ul>
</div>
<?php endforeach; ?>
<?php else : ?>
<h2>no records were returned</h2>
<?php endif; ?>
</body>
</html>
control.php
<?php
class Survey extends CI_Controller{
function index()
{
$data = array(
'question' => $this->input->post('question'),
'answer1' => $this->input->post('answer1'),
'answer2' => $this->input->post('answer2'),
'answer3' => $this->input->post('answer3'),
'answer4' => $this->input->post('answer4'),
'answer5' => $this->input->post('answer5'),
'answer6' => $this->input->post('answer6'),
);
if($query = $this->membership_model->get_records())
{
$data['records'] = $query;
}
$this->load->view('survey_view', $data);
}
//pagination
function page()
{
$this->load->library('pagination');
$config['base_url'] = 'http://localhost/admin/index.php/survey/index';
$config['total_rows'] = $this->db->get('save_survey')->num_rows();
$config['per_page'] = 1;
$config['num_links'] =10;
$this->pagination->initialize($config);
$data['records'] = $this->db-get('save_survey', $config['per_page'], $this->uri->segment(3));
$data['pagination'] = $this->pagination->create_links();
$this->load->view('survey_view', $data);
}
}
?>
答案 0 :(得分:1)
永远不会调用函数page()
。
导航到控制器时,将触发默认的index()
功能。在该函数中,没有调用page();
方法。
之前我从未使用CI的分页内容,但是要在page()
方法中包含您的分页代码(index()
),您可以这样做(我从页面方法中删除了视图) ):
class Survay extends CI_Controller{
function index() {
$data = array(
'question' => $this->input->post('question'),
'answer1' => $this->input->post('answer1'),
'answer2' => $this->input->post('answer2'),
'answer3' => $this->input->post('answer3'),
'answer4' => $this->input->post('answer4'),
'answer5' => $this->input->post('answer5'),
'answer6' => $this->input->post('answer6'),
);
if($query = $this->membership_model->get_records()) {
$data['records'] = $query;
}
//call your page method and set the pagination variables to this object
$this->page();
//show the view
$this->load->view('survay_view', $data);
}
//pagination ONLY sets the pagination variables
function page() {
$this->load->library('pagination');
$config['base_url'] = 'http://localhost/admin/index.php/survay/index';
$config['total_rows'] = $this->db->get('save_survay')->num_rows();
$config['per_page'] = 1;
$config['num_links'] = 10;
$this->pagination->initialize($config);
$data['records'] = $this->db-get('save_survay', $config['per_page'], $this->uri->segment(3));
$data['pagination'] = $this->pagination->create_links();
}
}