2

CodeIgniterプロジェクトにページネーションを入れようとしています。指示に注意深く従って、テーブルに参加して「mahasiswa_view」に表示することができましたが、ページ付けと組み合わせようとすると、エラーが表示されます。

このエラー写真を確認してください

これが私のコントローラーコード="home"です:

class Home extends CI_Controller
{
function __construct()
{
    parent::__construct();
    $this->load->model('modelku');
}

function index($offset = NULL)
{
    //pagination
    $limit = 3;
    if(!is_null($offset))
    {
        $offset = $this->uri->segment(3);
    }
    $this->load->library('pagination');
    $config['uri_segment'] = 3;
    $config['base_url'] = site_url('home/index');
    $config['total_rows'] = $this->modelku->total_record_mahasiswa();
    $config['per_page'] = $limit;
    $config['num_links'] = 5;
    $config['first_link'] = 'First';
    $config['last_link'] = 'Last';
    $this->pagination->initialize($config);

    //$data['mahasiswa']=$this->modelku->get_mahasiswa_all();
    $data['mahasiswa'] = $this->modelku->get_mahasiswa_all($limit,$offset);
    $this->load->view('mahasiswa_view',$data);
}

そして、これが私のモデルコード= "modelku"です:

if(!defined('BASEPATH')) exit('No direct script access allowed');

class Modelku extends CI_Model
{
//pagination
function total_record_mahasiswa()
{
    return $this->db->count_all('tb_mahasiswa','tb_prodi');
    //return $this->db->count_all('tb_mahasiswa');
}


function get_mahasiswa_all($limit,$offset)
{
    $this->db->select('tb_mahasiswa.nim, tb_mahasiswa.nama, tb_mahasiswa.tanggal_lahir,
            tb_mahasiswa.jenis_kelamin, tb_mahasiswa.alamat, tb_mahasiswa.propinsi,
            tb_mahasiswa.telepon, tb_mahasiswa.email, tb_mahasiswa.photo,
            tb_mahasiswa.prodi,
            tb_prodi.namaprodi');
    $this->db->from('tb_mahasiswa');
    $this->db->join('tb_prodi','tb_mahasiswa.prodi=tb_prodi.kode');
    //$query = $this->db->get();
    $this->db->order_by('nim','ASC');
    //$query = $this->db->get('tb_mahasiswa','tb_prodi',$limit, $offset);
    $query = $this->db->get($limit, $offset);
    return $query->result();
}

そして最後のもの、私の見解='mahasiswa_view':

<!doctype html>
<html>
<head>
    <title>PHP Framework</title>
    <link rel="stylesheet" href="<?php echo base_url() ?>asset/css/style.css"/>
</head>

<body>
    <h3>Selamat Datang di Form Mahasiswa</h3>

    <table width="80%" border="1" >

        <tr style="background-color:blue; color:white;">
            <td> No. </td>
            <td> NIM </td>
            <td> Nama </td>
            <td> Tanggal Lahir </td>
            <td> Jenis Kelamin </td>
            <td width="20%"> Alamat </td>
            <td> Telepon </td>
            <td> Email </td>
            <td> Prodi </td>    
            <td> Photo </td>
        </tr>


    <?php if(isset($msg_error))
        {
            echo '<div style="color:red;">' . $msg_error.'</div>';
        }
    ?>
    <?php
        echo anchor('home/login','Login');
        $no=1;
        foreach ($mahasiswa as $row)
        { 
    ?>
        <tr>
            <td><?php echo $no; ?></td>
            <td><?php echo $row->nim . ' '; ?></td>
            <td><?php echo $row->nama . ' '; ?></td>
            <td><?php echo $row->tanggal_lahir . ' '; ?></td>
            <td><?php echo $row->jenis_kelamin . ' '; ?></td>
            <td><?php echo $row->alamat . ' '; ?></td>
            <td><?php echo $row->telepon . ' '; ?></td>
            <td><?php echo $row->email . ' '; ?></td> 
            <td><?php echo $row->namaprodi . ' ';?></td>
            <td><?php echo $row->photo . ' </br>';?></td>
        </tr>

    <?php
        $no++;
        }
    ?>
    &nbsp
    <form action="<?php print site_url();?>/home/cari" method=POST>
        <input type=text name=cari> <input type=submit value="Cari">
    </form>
</table>

    <?php 
        echo "<br /><div>" .$this->pagination->create_links() ."</div>";
    ?>
</body>
</html>

私はまだCodeIgniterを初めて使用するので、助けていただければ幸いです。

4

2 に答える 2

2

$query = $this->db->get($limit, $offset); $limit, $offsetget()内では使用できません

$this->db->limit($limit, $offset);
$query = $this->db->get();

このように使用してください

于 2013-03-24T09:33:14.043 に答える
0

@Noel_Yahanによって提供された答えは正しいです。しかし、それを言うあなたの問題は正確には何ですか。

Table 'db_kampus.3' does not exist

サードパーティのアプリケーションを使用していて、テーブル[db_kampus.3]が欠落している可能性があります。

不足しているテーブルをインストールして、上記の答えに従ってください。動作しているはずです。

于 2013-03-24T10:26:39.083 に答える