Puslapis „Codeigniter“ su žingsnis po žingsnio pavyzdys

Duomenų bazės yra gyvos būtybės. Laikui bėgant jie auga. Kurdami programas, turime atsižvelgti į daugybę įrašų, kuriuos vartotojai turės naršyti. Skaitymas leidžia mums suskaidyti savo rezultatus į mažas valdomas dalis. Toliau pateiktame paveikslėlyje rodomas puslapių puslapių „Google“ paieškoje pavyzdys.

Šioje pamokoje sužinosite, kaip puslapiuoti duomenų bazės rezultatus „CodeIgniter“ naudojant puslapių puslapių biblioteką. Šioje pamokoje daroma prielaida, kad esate susipažinę su „CodeIgniter Active Record“ pagrindais. Jei to nepadarėte, galite perskaityti ankstesnius vadovus. Kita prielaida yra ta, kad jūs jau atsisiuntėte „CodeIgniter“.

Šioje pamokoje sužinosite-

Duomenų bazės konfigūracija

Pradėsime nuo duomenų bazės kūrimo ir kai kurių netikrų įrašų įterpimo. Tai bus vienos lentelės duomenų bazė, kurioje bus 50 įrašų.

Paleiskite šį scenarijų prieš „MySQL“, kad sukurtumėte duomenų bazės autorių lentelę. Įdėkite 50 netikrų įrašų. | _+_ | | _+_ |

Dabar, kai sėkmingai sukūrėme savo duomenų bazę ir į ją įterpėme fiktyvius įrašus, sukonfigūruokime „CodeIgniter“ programą bendrauti su duomenų baze.

Atidarykite programą/config/database.php

Nustatykite duomenų bazės ryšio parametrus, panašius į šiuos | _+_ |

ČIA,

  • 'hostname' => 'localhost', nustato duomenų bazės pagrindinio kompiuterio pavadinimą
  • 'username' => 'root', nurodo duomenų bazės pavadinimą
  • 'password' => 'openseseme', nustato duomenų bazės slaptažodį
  • 'database' => 'ci_pagination', nurodo duomenų bazės pavadinimą.

Taip pat automatiškai paleisime duomenų bazės biblioteką, kai prasidės mūsų programa. Padarykime tai. Atidarykite programą/config/autoload.php

Įkelkite duomenų bazės biblioteką, kaip parodyta žemiau esančiu kodu | _+_ |

Tai yra duomenų bazės konfigūracija.

Dabar padirbėkime su duomenų bazės modeliu, skirtu puslapiams puslapiuoti

„CodeIgniter“ puslapių duomenų bazės modelis

Programoje/modeliuose sukurkite naują modelį Authors_model

Pridėkite šį kodą | _+_ |

ČIA,

  • apsaugota $ table = 'autoriai'; apibrėžti apsaugotą kintamąjį, kuris apibrėžia modelio duomenų bazės lentelės pavadinimą
  • Viešoji funkcija __construct () {…} iškviečia pirminio konstruktoriaus metodą
  • Viešoji funkcija get_count () {…} grąžina visus duomenų bazės lentelės įrašus. Tai reikalinga puslapių skaičiavimo tikslais
  • viešoji funkcija get_authors ($ limit, $ start) {…} apibrėžia metodą, kuris bus naudojamas nuskaityti puslapių rezultatus iš duomenų bazės. Pravažiuosime ribą ir pradžios tašką. Apribojimas nustato bendrą grąžinamų įrašų skaičių, o pradžia - įrašų, kuriuos reikia praleisti, skaičių

tai yra mūsų duomenų bazės modelis. Dabar kurkime maršrutus, kurie reaguos į mūsų puslapius.

„CodeIgniter“ puslapio puslapiai

Atidarykite maršrutų failą programoje/config/route.php

Pridėkite šį maršrutą | _+_ |

ČIA,

  • Mes apibrėžiame maršruto autorių, kuris priima pasirenkamą numerio parametrą. Neprivalomas parametras nustatomas naudojant atidarymo ir uždarymo skliaustus. Apibrėžtas maršrutas iškviečia indekso metodą autorių valdiklyje.

Dabar pereikime prie valdiklio, kad gautume puslapių rezultatus

„CodeIgniter“ puslapių valdiklis

Programų/valdiklių kataloge sukurkite naują failą Authors.php

Pridėkite šį kodą | _+_ |

ČIA,

  • klasė Autoriai pratęsia CI_Controller {…} mes apibrėžiame klasę Autoriai, kuri praplečia CI_Controller klasę
  • Viešoji funkcija __construct () {…} šis metodas inicijuoja pirminį konstruktorių ir įkelia URL pagalbininką, autorių modelį ir puslapių biblioteką.
  • public function index () {…} apibrėžia metodą, kuris reaguoja į mūsų maršruto autorius
    • $ config ['base_url'] = bazinė_url (). „autoriai“; nustato puslapio URL, kuris bus naudojamas puslapių nuorodoms generuoti
    • $ config ['total_rows'] = $ tai-> autorių_modelis-> get_count (); nustato bendrą eilutę, kurią reikia puslapiuoti. Vertė gaunama iš autorių modelio paskambinus „get_count“ metodu.
    • $ config ['per_page'] = 10; apibrėžia eilutes, kurias reikia rodyti puslapyje
    • $ config ['uri_segment'] = 2; nurodo URL segmentą, kuriame yra vertė, kuri bus naudojama įrašams praleisti
    • $ this-> pagination-> inicializuoti ($ config); inicijuoja puslapių biblioteką naudodami konfigūracijos masyvo reikšmę, kurią mes apibrėžėme, ir priskiria aukščiau nurodytas reikšmes.
    • $ puslapis = ($ šis-> uri-> segmentas (2))? $ this-> uri-> segmentas (2): 0; patikrina, ar praleidimo numeris buvo nustatytas antrame URI segmente, ir jei jis nenustatytas, tada vertė 0 priskiriama kintamajam $ puslapyje
    • $ data ['links'] = $ this-> pagination-> create_links (); sukuria puslapių nuorodas ir priskiria jas $ data masyvo kintamojo nuorodų klavišui.
    • duomenys ['autoriai'] = $ tai-> autoriai_modelis-> gauti_autoriai ($ config ['per_page'], $ puslapis); nuskaitė puslapius turinčius autorių įrašus ir priskiria juos $ data masyvo kintamojo autoriaus raktui
    • $ this-> load-> view ('autoriai/indeksas', $ duomenys); įkelia rodyklės rodinį į autorių katalogą ir perduoda masyvo kintamąjį $ data.

Tai tinka mūsų modeliui. Dabar sukurkime rodinį, kuriame bus rodomi mūsų duomenų bazės rezultatai.

Programoje/rodiniuose sukurkite naują katalogo autorių

Sukurkite naują failą index.php programoje/views/author/index.php

Pridėkite šį kodą | _+_ |

ČIA,

  • peržiūri kintamojo $ Autors rezultatus ir spausdina rezultatus lentelėje
  • spausdina puslapio apačioje esančias puslapių nuorodas.

Dabar pradėkime savo programą ir pamatysime rezultatus

Šioje pamokoje mes naudojame įmontuotą PHP žiniatinklio serverį, tačiau galite naudoti bet kurį žiniatinklio serverį, palaikantį PHP.

Atidarykite terminalą

Vykdykite šią komandą | _+_ |

ČIA,

  • Aukščiau pateikta komanda naršo į programos kodų katalogą ir paleidžia įmontuotą serverį 3000 prievade.

Pastaba: programos kelias turi sutapti su keliu, iš kurio atsisiuntėte „CodeIgniter“. Norėdami tai padaryti, galite naudoti bet kurį nemokamą prievado numerį savo kompiuteryje. Nebūtina naudoti 3000 prievado.

Atidarykite žiniatinklio naršyklę ir įkelkite šį URL

http: // localhost: 3000/autoriai

Turėtumėte gauti panašių rezultatų, kaip nurodyta toliau

Santrauka

Šioje pamokoje mes apžvelgėme puslapių puslapio sudarymo pagrindus ir pasinaudojome „CodeIgniter“ puslapių bibliotekos pranašumais ir panaudojome ją kurdami programą, kuri puslapizuoja duomenų bazės rezultatus.