2017-04-07 2 views
-3

ich eine API verwende, habe ich Zugriff auf die aktuelle Seite URL und der letzten Seite URL,Wie fügt man Paginierung mit PHP ein?

ich aktuelle Seite URL von $ Seite und Final Seite URL von $ total erhalten,

ich die nächste Seite von $ page + 1,

ich brauche als

<< 1 2 3 4 5 .... 190 >> 

Unter der Annahme, 190 als die letzte Seite den Post-Navigator angezeigt werden,

Das Problem ist, dass wenn ich die Seite 190, die Paginierung Show << 190 191 192 193 194 ... 190 >>

erreichen So können diese als 190 ist die letzte Seite festgelegt werden kann, muss ich, bevor es Seiten anzuzeigen, und deaktivieren Sie auch die >> weiter,

Samen Bei page 1, ich brauche < < Taste deaktivieren ...

die alle Seitendaten $ _GET Anforderung über verwenden, so dass alle Seiten gleich sind ... Keine separate Homepage oder endend Seite. ..

+1

Möglicherweise wird diese Ihnen helfen: http://stackoverflow.com/a/40069769/7832155 – ghostprgmr

+0

immer posten Sie Ihre neuesten/besten Code mit Ihrer Frage. – mickmackusa

+0

Was haben Sie bisher versucht ??, wir sind nicht hier, um Ihre Probleme von Grund auf zu lösen, Fragen mit Codebeispielen zu aktualisieren – Jabaa

Antwort

0

Sie müssen Startseite, Endseite berechnen und über sie iterieren.

Zum Beispiel sollten Sie für die erste Seite von 1 bis 5 beginnen, aber als 5 ist weniger, dann maximale Seite (190), sollten Sie "..." und 190 hinzufügen. Da jedoch die Startseite 1 ist , sollten Sie nicht zulassen, "< <" Link.

Wenn Sie sich auf einer Seite 190 befinden, könnte die Endseite 190 + 5 = 195 sein. Die maximale Seite ist jedoch 190, die als Endseite festgelegt ist. Die Startseite ist also die Endseite - 5: 190 - 5 = 185. Da Ihre Endseite die maximale Seite ist, deaktivieren Sie den Link ">>". Da 185 mehr als 1 ist, können Sie "..." und 1 hinzufügen.

Alles andere ist nur eine kleine Details eines Algorithmus für besseres Aussehen.

0

Sie sollten nur überprüfen, ob die $ page == $ total dann die $ page durch 1 subtrahieren Ich nehme an, dass Sie while-Schleife oder for-Schleife für die Iteration verwenden. Und es sollte auch eine Abbruchbedingung geben wie während $ page> = 1. Sie müssen nur Schleife und Bedingungen verwenden, um Ihr Problem zu lösen. Ex. psuedocode

$page = 200; // getting it by extracting the get request 
$total = 200; 
while($page >= $limit) //$limit can be defined by you upto which you want to iterate. 
{ 
$page = $page - 1;//echo it in html 
}