Switch-uri de pagini pe PHP, paginator, dezvoltatori web blog-


În acest articol ne vom uita la php-script care ne permite să pună în aplicare switch-uri de pagini (numite paginator), de exemplu, pentru cartea noastră de oaspeți, crearea pe care le-am descris în articolul precedent.

Aici este un apel de funcție care ne întoarce la o serie de switch-uri:

$ ArrayPage = printPage ($ LASTPAGE, pagina $);


După cum putem vedea, este nevoie de doi parametri. LASTPAGE - numărul total de pagini (mi sa spus cum să obțineți acea variabilă în articolul precedent), pagina - această pagină este activă, adică cea pe care ne aflăm.

În ce formă va fi afișat switch-uri. Dacă mesajul a fost foarte puțin sau nu există deloc, este foarte probabil că o pagină nu va fi deloc sau vor doar unul. În acest caz, script-ul returnează o matrice gol pe care nu ne vom retrage. Și dacă paginile sunt atât de multe? Nu este necesar, deoarece de ieșire link-uri la toate paginile dintr-o dată. script-ul nostru, în orice caz, se va afișa numai 10 (9) întrerupătoare. Modul în care comută pagini se va uita la o varietate de pagini active, care demonstrează perfect exemplele următoare:

  • Pagini de activitate - 1 total de pagini - 8
    1 2 3 4 5 6 7 8
  • Pagini de activitate - 1 total de pagini - 14
    1 2 3 4 5 ... 10 11 12 13 14
  • Pagina activă - 5. Total pagini - 30
    1 2 ... 3 4 5 6 7 ... 29 30
  • Pagini de activitate - 8 total de pagini - 30
    1 2 ... 6 7 8 9 29 10 ... 30

Acum, ia în considerare funcția în sine:

Astfel, la ieșire, avem o serie de numere de pagini, precum și, eventual, unul sau două puncte. Putem afișa doar în mod corespunzător, aceste switch-uri, precum și switch-uri de pagini - o referință, trebuie să atribuim corespunzătoare get-parametri. De exemplu, ca aceasta:

Aici este o pagină de probă întrerupătoare de ieșire:

Și dacă încerci să-l aranjeze toate, puteți obține ceva de genul:

Vadim, bine scris. Am fost în căutarea pentru o concluzie fără pluginul.
Și puteți adăuga la hârtie, în practică, pașii de urmat. Care toate fișierele de registru,

Ceea ce nu a terminat articol?

în cazul în care continuarea codului?

Funcția printPage ($ countPage, $ actPage)
// dacă pagina este 0 sau 1, înapoi matrice goale (switch-uri nu sunt afișate)
if ($ countPage == 0 || $ countPage == 1) retur array ();
în cazul în care ($ countPage> 10) // în cazul în care mai mult de 10 de pagini, umple pageArray serie de switch-uri, în funcție de pagina activă
// dacă pagina activă - una dintre primele sau una dintre ultimele pagini
// vom scrie în greutatea primelor 5 și ultimele 5 comutatoare, separate prin puncte
if ($ actPage = $ countPage)
pentru ($ i = 0; $ i