Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. CodeIgniter
Code

Penomboran pada CodeIgniter: Panduan Lengkap

by
Difficulty:BeginnerLength:LongLanguages:

Malay (Melayu) translation by Rana Salsabiela (you can also view the original English article)

Manfaat menggunakan kerangka aplikasi web penuh ialah anda tidak perlu bimbang tentang tugas biasa seperti pengendalian input, pengesahan bentuk dan sebagainya, kerana rangka kerja telah menyediakan pembungkus untuk ciri tersebut. Oleh itu, rangka kerja ini membolehkan anda menumpukan perhatian pada logik kerja aplikasi dan bukannya menemui roda mengulanginya.

Kali ini, kami akan meneroka perpustakaan penting dalam kerangka CodeIgniter - iaitu perpustakaan penomboran.

Biar saya menyerlahkan beberapa topik yang akan dibincangkan dalam artikel ini:

  • Pertunjukan pendirian asas
  • Terokai pilihan penyesuaian
  • Konfigurasi penomboran

Demonstrasi Paging Asas

Dalam bahagian ini, kami akan membincangkan satu contoh yang menunjukkan penggunaan penomboran dalam CodeIgniter. Ini adalah cara terbaik untuk memahami bagaimana perkara berfungsi bersama.

Dalam contoh kami, kami akan membuat senarai atau senarai pengguna yang agak mudah di mana kami akan mencatat rekod dari jadual pengguna MySQL. Untuk berjaya menjalankan contoh ini, pastikan anda mempunyai medan uid dan uname di jadual pengguna anda.Dengan ini, kami bersedia untuk memulakan.

Dengan ini, kami bersedia untuk memulakan.

Teruskan dengan mencipta pengawal controllers/Paging.php dengan mengikuti kandungan berikut.

Seterusnya, kami memerlukan model models/Users.php yang mengambil rekod dari jadual pengguna.

Pada akhirnya, mari kita buat fail views/user_listing.php pada views/user_listing.php yang memaparkan senarai pengguna.

Sekarang, terus dan akses halaman tersuai kami di http: // your-code-igniter-site / paging / index dan anda harus melihat senarai pengguna bersama dengan penomboran! Jadi, itu sahaja, kami telah melakukannya!Jangan bimbang, saya tidak akan meninggalkan anda secepat mungkin, kerana kami akan mula membedah setiap bahagian kod sekarang.

Kami akan mulakan dengan model models/Users.php kerana ia adalah sesuatu yang akan dipanggil dari kaedah pengawal kami. Terdapat dua kaedah penting, get_current_page_records dan get_total , yang get_total model kami untuk membuat pautan penomboran.

Marilah melalui kaedah get_total . Ini digunakan untuk mengira (mengira) bilangan rekod dalam jadual pengguna.

Seterusnya, terdapat kaedah get_current_page_records .

Terdapat dua hujah penting yang harus anda perhatikan dalam kaedah get_current_page_records . Argumen pertama, $limit , digunakan untuk menentukan bilangan rekod yang akan dikembalikan selagi pertanyaan dijalankan. Dan argumen kedua, $start , bertindak sebagai indeks permulaan rekod.

Oleh itu, seperti yang anda lihat, memberikan nilai pada $start dan $limit boleh kita buat rekod per halaman. Itulah intipati paging, dan dengan cara kami telah menggunakan kaedah yang paling penting dalam artikel ini!

Jadi, itulah model kami - mudah dan elegan!

Berlanjut, mari kita beri perhatian kepada fail pengawal. Pergi ke kod dari kaedah pembina.

Untuk menggunakan penomboran dalam CodeIgniter, perkara pertama yang perlu anda lakukan ialah memuat perpustakaan penomboran. Dan kita boleh lakukan ini menggunakan $this->load->library('pagination') .

Kami juga memasukkan URL penolong supaya kami boleh menggunakan fungsi penolong global yang disediakan oleh penolong.

Sekarang, kita sudah bersedia untuk melalui hati pengawal kami - kaedah index .

Untuk bermula, kami pastikan pangkalan data dimuatkan dengan betul. Selepas itu, kita memuatkan model User supaya kita dapat menggunakan model kaedah.

Seterusnya, kami memulakan beberapa pembolehubah penting.

$limit_per_page menentukan had per halaman. Sudah tentu, anda boleh menetapkannya seperti yang anda kehendaki; Pada masa ini pembolehubah ini ditetapkan kepada 1 sebagai contoh.

Pembolehubah $start_index bertindak sebagai indeks permulaan rekod MySQL. Apabila CodeIgniter mencipta pautan penomboran, pembolehubah ini menambah indeks permulaan halaman sebagai segmen ketiga dalam URL secara lalai. Anda boleh menukar tingkah laku lalai ini, tetapi itu adalah sesuatu yang akan kami simpan di bahagian terakhir artikel ini, di mana kami akan membincangkan pilihan penyesuaian.

Akhirnya, kita panggil kaedah get_total model Pengguna untuk mendapatkan rekod jumlah dari jadual pengguna, dan ini diberikan kepada variabel $total_records .

Seterusnya, kami mengambil rekod dari halaman semasa menggunakan kaedah get_current_page_records .

Sebelum kita dapat meneruskan dan membina pautan pagination, kita perlu memulakan sekurang-kurangnya konfigurasi paging menggunakan kaedah initialize pustaka paging.

Dan itu set parameter minimum untuk membina pautan pagination.

  • base_url : URL yang akan digunakan semasa membina pautan penghalaan
  • total_rows : Jumlah bilangan rekod
  • per_page : Bilangan rekod per halama

Akhirnya, kami menggunakan kaedah create_links untuk membuat pautan penomboran

Selebihnya hanyalah formaliti untuk memanggil pandangan pengguna kami dan membuat keputusan!Jalankan http: // URL kod-ignor-tapak / paging / indeks untuk melihat penyenaraian pengguna bersama dengan pautan penomboran.

Oleh itu, ia adalah contoh pengulangan yang paling mudah tetapi paling berguna yang anda perlukan untuk memenuhi keperluan anda.

Dalam bahagian seterusnya, kami akan membincangkan bagaimana anda boleh menyesuaikan penomboran lalai dari segi rupa dan kefungsian.

Meneroka Pilihan Penyesuaian

Dalam bahagian ini, kami akan meneroka pilihan yang tersedia yang boleh anda gunakan jika anda ingin menyesuaikan pautan penomboran lalai.

Segmen URI

Walaupun paging pada CodeIgniter secara automatik mengesan parameter yang berkaitan dengan paging dari URL, anda boleh menentukan nilai tersuai jika anda mempunyai corak URL yang berbeza.

Bilangan Pautan Digit

Pilihan num_links membolehkan anda menentukan bilangan digit pautan yang akan dipaparkan sebelum dan selepas nombor halaman aktif pada pautan penomboran.

Nombor Halaman sebagai URI Segmen

Apabila anda mengakses segmen URI paging, secara lalai ini indeks bermula. Sebagai contoh, jika anda mempunyai sepuluh rekod setiap halaman, segmen URI paging adalah 20 untuk halaman ketiga. Sebaliknya, jika anda mahu memaparkan nombor halaman sebenar dalam pautan paging, anda boleh menetapkan use_page_numbers menjadi TRUE .

Sudah tentu, anda perlu memastikan bahawa anda mengira indeks permulaan yang betul berdasarkan nombor halaman yang anda ambil dari URL.

Mengekalkan Pertanyaan String

Lebih sering daripada tidak, anda berakhir dalam keadaan di mana anda mahu menyimpan parameter rentetan pertanyaan yang tidak dikaitkan dengan penomboran. Anda boleh menggunakan pilihan reuse_query_string untuk mengaktifkan kemudahan itu.

Ini adalah beberapa pilihan yang boleh anda gunakan untuk menukar fungsi penomboran lalai. Seterusnya, kami akan melihat beberapa pilihan lain yang membolehkan anda menukar pautan pagination yang dipaparkan.

Tag Wrapper

Jika anda ingin membungkus kod full_tag_open dengan tag HTML lain, anda boleh melakukan ini menggunakan pilihan full_tag_open dan full_tag_close .

Ini boleh menjadi sangat berguna jika anda mahu menggunakan gaya tersuai untuk pautan pagination.

Pertama, Terakhir, Seterusnya, dan Sebelumnya

Jika anda ingin menukar teks yang akan dipaparkan untuk pautan pertama, terakhir, seterusnya dan sebelumnya, anda juga boleh melakukannya.

Selain itu, jika anda ingin membungkus semua hubungan individu dengan tag HTML, anda boleh melakukannya dengan cara yang sama seperti yang kita lakukan untuk membungkus kod paging keseluruhan.

Pautan Aktif dan Pautan Nombor

Kadang-kadang, anda mahu memberikan gaya yang berbeza kepada pautan aktif (pautan aktif). Anda boleh melakukan ini dengan menggunakan tag pembungkus seperti yang ditunjukkan di bawah.

Dengan cara yang sama, jika anda hendak membungkus digit pautan dengan sesuatu:

Dan itu berakhir perbincangan penyesuaian. Sebenarnya, anda boleh meneruskan dan melihat contoh pelarasan di http: // your-code-igniter-site / paging / custom yang telah dimasukkan ke dalam fail pengawal kami!

Konfigurasi Paging

Sekarang anda tahu konfigurasi yang diperlukan untuk penomboran yang betul yang ditetapkan dengan mana-mana senarai model. Dan selalunya, anda mahu tetap sama di seluruh laman web ini. Apa yang akan anda lakukan untuk mencapainya? Anda mungkin tergoda untuk menyalin kod konfigurasi dan menampalnya ke dalam setiap tindakan yang memerlukan konfigurasi penomboran.

Sebenarnya, ada cara yang lebih baik untuk mengendalikan senario ini. Anda boleh membuat fail konfigurasi paging dalam application/config/pagination.php dan gunakan pembolehubah $config untuk menentukan tetapan anda.

Berdasarkan ini, semakan kaedah index tindakan akan kelihatan seperti ini:

Sudah tentu, variable total_rows dan base_url berubah dari tindakan ke tindakan, jadi anda perlu secara eksplisit menetapkannya dalam setiap tindakan.

Untuk mencapai ini, anda perlu memuatkan konfigurasi penomboran di tempat asalnya.

Seterusnya, anda boleh menukar tetapan ke tindakan tertentu.

Dan anda telah melakukannya!

Jadi itulah bagaimana konfigurasi penomboran dibincangkan, dan itu juga menandakan akhir artikel ini!

Kesimpulannya

Kali ini, kami membincangkan perpustakaan pagination di CodeIgniter.

Pada permulaan artikel ini, saya menunjukkan kepada anda bagaimana anda boleh menggunakan perpustakaan penomboran dengan menyediakan contoh yang sangat mudah tetapi bermanfaat.

Selepas itu, kami membincangkan pilihan penyesuaian yang ada yang anda perlukan semasa menyediakan penomboran.

Akhirnya, kita membincangkan konfigurasi penomboran di bahagian terakhir.

CodeIgniter adalah platform PHP yang kuat. Sama ada anda baru bermula atau bermula dengan versi seterusnya, jangan lupa untuk memeriksa apa yang telah kami sediakan untuk anda.

Saya akan menyukai maklum balas anda dalam bentuk pertanyaan dan komen menggunakan suapan di bawah!

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.