Új hozzászólás Aktív témák

  • Lacc

    aktív tag

    válasz Pulsar #19040 üzenetére

    Igen, de 1 hónap PHP-zás után, lehet keretrendszert tanulni, megkönnyíti az életet, és közben lehet tovább mélyítni a PHP tudást.

    Amit már a kolléga is mondott, ezt két SQL paranccsal lehet megoldani.
    1. COUNT() metódus megszámolja az összes rekordot a táblában.
    2. LIMIT és OFFSET használata, hogy mindig csak 30, 50 vagy amennyi sort akarsz, kérdezzen le egyszerre.

    Ez a GRID táblázatos megjelenítők alapja is lapozással.

    A COUNT() lehozza, hogy 20.027 sorod van, ezt osztod 500-al, plusz hozzáadsz egyet, ha a maradék nagyobb mint 0. Ezzel kitudod írni, hogy hány oldal lesz összesen a lista felületen.

    Utána meg csak szimplán SELECT * FROM tábla LIMIT 500 OFFSET 0; Ha a user lapoz, Get-tel kiszeded, hogy melyik lapra lapozz, ha csinálsz számozást 1, 2, 3, 4, 5 ... lapszámok.

    Akkor mondjuk azt mondja, hogy ő lapozott a 2. lapra. Get-tel ez megvan, erre végzel egy egyszerű -1 -es matematikai kivonást. 2-1 = 1.

    Ekkor fogod és 1x500-at szorzod, így az új OFFSET az 500 lesz, ami azt jelenti, hogy az 500-ik sortól kezdje.
    SELECT * FROM tábla LIMIT 500 OFFSET 500;

    Ha a user a lapozó számokon, a 4-est választja ki, akkor ugyanúgy jársz el, 4-1=3, ezt felszorzod 3x500, az új offset 1500 lesz:
    SELECT * FROM tábla LIMIT 500 OFFSET 1500;

    Ennyi a logika.

Új hozzászólás Aktív témák