Pagination pagination simpan kode di atas pada file

  • No School
  • AA 1
  • 173

This preview shows page 42 - 45 out of 173 pages.

’pagination’ => $pagination, ]); } } Simpan kode di atas pada file controllers/CountryController.php . Action index memanggil Country::find() . Method Active Record ini mem- buat query ke database dan mengambil semua data negara dari tabel country . Untuk membatasi jumlah negara yang didapatkan pada setiap pengambilan data, query tersebut dipecah menjadi halaman per halaman dengan bantu- an dari objek yii\data\Pagination . Objek Pagination diperuntukkan untuk dua tujuan: Menentukan klausa offset dan limit pada perintah SQL yang digu- nakan untuk query agar mengambil hanya satu halaman data dalam sekali perintah (pada umumnya akan mengambil 5 baris dalam satu halaman). Digunakan pada view untuk menampilkan tombol halaman yang terdiri dari tombol-tombol nomor halaman, yang selanjutnya akan dijelaskan pada sub bagian berikutnya. Di akhir kode, action index me- render view dengan nama index , dan mengi- rimkan data negara beserta dengan informasi halaman dari data tersebut.
Image of page 42
2.5. BEKERJA DENGAN DATABASE 39 2.5.5 Membuat View Di dalam folder views , pertama-tama buatlah sub-folder dengan nama country . Folder ini akan digunakan untuk menyimpan semua view yang akan di render oleh controller country . Di dalam folder views/country , buatlah file dengan nama index.php berisi kode di bawah ini: <?php use yii\helpers\Html; use yii\widgets\LinkPager; ?> <h1>Countries</h1> <ul> <?php foreach ($countries as $country): ?> <li> <?= Html::encode( "{$country->name} ({$country->code})" ) ?>: <?= $country->population ?> </li> <?php endforeach; ?> </ul> <?= LinkPager::widget([ ’pagination’ => $pagination]) ?> Terkait dengan tampilan data negara, view ini terdiri dari dua bagian. Ba- gian pertama, dilakukan perulangan (looping) pada data negara yang terse- dia dan di- render sebagai unordered list HTML. Bagian kedua, widget yii \widgets\LinkPager di- render menggunakan informasi halaman (pagina- tion) yang dikirimkan dari action . Widget LinkPager menampilkan tombol- tombol halaman. Mengklik pada salah satu tombol tersebut akan melakukan pengambilan data negara terkait dengan halaman yang diklik. 2.5.6 Mari Kita Coba Untuk melihat bagaimana kode-kode di atas bekerja, gunakan browser anda untuk mengakses URL ini:
Image of page 43
40 BAB 2. MULAI Awalnya, anda akan melihat sebuah halaman yang menampilkan 5 ne- gara. Dibawah daftar negara tersebut, anda akan melihat tombol halaman yang berjumlah empat tombol. Jika anda mengklik tombol “2”, anda akan melihat halaman tersebut menampilkan 5 negara lain pada database: halam- an kedua pada record. Silahkan melakukan observasi secara perlahan-lahan dan anda akan mengetahui bahwa URL pada browser juga akan berganti menjadi Di belakang layar, Pagination menyediakan semua kebutuhkan untuk me- mecah data menjadi halaman per halaman: Pertama-tama, Pagination menampilkan halaman pertama, dimana menjalankan perintah SELECT pada tabel country dengan klausa LIMIT 5 OFFSET 0 . Hasilnya, 5 negara pertama akan diambil dan ditampilkan.
Image of page 44
Image of page 45

You've reached the end of your free preview.

Want to read all 173 pages?

  • Fall '19

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern

Stuck? We have tutors online 24/7 who can help you get unstuck.
A+ icon
Ask Expert Tutors You can ask You can ask ( soon) You can ask (will expire )
Answers in as fast as 15 minutes
A+ icon
Ask Expert Tutors