Я использую Codeigniter .. и я новичок в этом. То, что я пытаюсь сделать, это использовать нумерацию страниц в моем коде, но проблема в том, что ссылка на пагинацию не показана внизу.
Мой контроллер:
public function dsbds()
{
$this->load->library('pagination');
$this->load->model('admin_model');
$result_per_page = 1; // the number of result per page
$config['base_url'] = base_url() . '/admin/';
$config['total_rows'] = $this->admin_model->dsbds();
$config['per_page'] = $result_per_page;
$this->pagination->initialize($config);
$datatable = $this->admin_model->dsbds($result_per_page, $this->uri->segment(3));
$this->load->view('admin/danhsachbds', array(
'bds' => $datatable,
'result_per_page' => $result_per_page
));}
Моя модель:
public function dsbds($limit, $offset)
{
$this->db->limit($limit, $offset);
$q = $this->db->query("SELECT bds.id, duan.tenduan, loaibds.loai, bds.tieude, phongngu.phongngu, phongtam.phongtam, viewbds.view, huongbds.huong, noithat.noithat, bds.dientich, bds.gia, donvibds.donvi, bds.noidung, duan.slugda, bds.slugbds, bds.datecreate, bds.dateupdate FROM bds LEFT JOIN duan ON duan.id=bds.tenduan LEFT JOIN loaibds ON loaibds.id=bds.loai LEFT JOIN phongngu ON phongngu.id=bds.phongngu LEFT JOIN phongtam ON phongtam.id=bds.phongtam LEFT JOIN viewbds ON viewbds.id=bds.view LEFT JOIN huongbds ON huongbds.id=bds.huong LEFT JOIN noithat ON noithat.id=bds.noithat LEFT JOIN donvibds ON donvibds.id=bds.donvi ORDER BY bds.id DESC");
if($q->num_rows() > 0)
return $q->result();
return false;
}
Мой взгляд:
<table>
<tbody>
<?php foreach($bds as $d) { ?>
<tr>
<td><?php echo $d->id; ?></td>
<td><?php echo $d->tenduan; ?></td>
<td><?php echo $d->phongngu; ?></td>
<td><?php echo $d->phongtam; ?></td>
<td><?php echo $d->dientich; ?></td>
<td><?php echo $d->noithat; ?></td>
<td><?php echo $d->gia; ?> <?php echo $d->donvi; ?></td>
<td><button type="button" class="btn btn-success btn-sm">Edit</button> </td>
</tr>
<?php } ?>
</tbody>
<?php echo $this->pagination->create_links(); ?>
</table>
Моя ошибка:
Серьезность: Предупреждение
Сообщение: отсутствует аргумент 1 для Admin_Model :: dsbds (), вызванного в /application/controllers/admin.php в строке 231 и определенного
Имя файла: models / admin_model.php
Серьезность: Предупреждение
Сообщение: отсутствует аргумент 2 для Admin_Model :: dsbds (), вызванного в /application/controllers/admin.php в строке 231 и определенного
Имя файла: models / admin_model.php
Обнаружена ошибка PHP
Серьезность: Уведомление
Сообщение: неопределенная переменная: предел
Имя файла: models / admin_model.php
Номер строки: 316
Обнаружена ошибка PHP
Серьезность: Уведомление
Сообщение: неопределенная переменная: смещение
Имя файла: models / admin_model.php
Номер строки: 316
Неустранимая ошибка: неподдерживаемые типы операндов в /code/system/libraries/Pagination.php в строке 124
Прежде всего, $ result_per_page не определен в функции контроллера. Вы должны определить это внутри функции. Также $ this-> uri-> сегмента (3), кажется, не существует в вашем случае. Какой адрес страницы вы пытаетесь. Вы должны пересчитать сегменты URL снова. Что ж, я уверен, что вы тестируете первую страницу, и в этом случае на ней нет сегмента подкачки (3-й).
Других решений пока нет …