Hirdetés

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

  • DNReNTi

    őstag

    válasz laceeeboy #15212 üzenetére

    Nem olyan bonyolult pedig. Amit biker leírt, kicsit kifejtem neked.

    Legyen az oldalad címe: domain.hu/hirek.php
    Kezdjük azzal hogy ellenőrzöd melyik oldalt (lapot) nézed:
    $oldal = isset($_GET['oldal']) ? $_GET['oldal'] : 1;
    Alap esetben (most) a $oldal változó 1 lesz. Azaz az 1. oldalt nézed.

    Az írtad három hírt szeretnél megjelentetni, legyen a legfrissebb elől, ezt tároljuk egy változóban, így később könnyű módosítani.
    Tehát: $hirek_szama = 3;

    Ezen két adat alapján létrehozol egy "léptető" változót.
    $oldal_offest = ($oldal-1) * $hirek_szama;
    Az $oldal-1-re azért van szükség mert különben elcsúszna a lekérdezés. Ezekkel máris egyenesben vagy, minden adat megvan hogy tetszőleges lekérdezést tudj kreálni:
    SELECT * FROM hirek ORDER BY publikalas_ideje DESC LIMIT '$odlal_offset', '$hirek_szama';

    Szintén biker írta: a LIMIT meghatározza honnan, hány rekordot kérsz le.
    Alap esetben ez most 0, 3. Azaz az elejétől 3 db rekord. Magyarul a 3 legfrissebb.
    Eddig gondolom teljesen érthető.

    A léptetés pedig ha eddig értetted már nem okozhat gondot:
    Mivel tudod épp melyik oldalon vagy ($oldal) ennek felhasználásával már gyerekjáték.
    <a href="/hirek.php?oldal=<?php echo $oldal-1; ?>" title="Előző oldal">Előző oldal</a>
    <a href="/hirek.php?oldal=<?php echo $oldal+1; ?>" title="Következő oldal">Következő oldal</a>

    A hivatkozás így pl a : domain.hu/hirek.php?oldal=2 linkre visz, amiből máris jön, hogy a 2. oldalon vagy. A lekérdezés vége így : LIMIT 3, 3 lesz.

    Remélem sikerült érhetően megfogalmaznom és nem írtam hibát, közben nem ellenőriztem magam. :D
    FONTOS: ebben amit leírtam nincs hibakezelés! Csak a működést szemlélteti!

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