r!dd Posted April 9, 2007 Posted April 9, 2007 Sziasztok! Van egy honlap, és annak van egy admin felülete. A fő oldal hírekből áll, amit adatbázisból olvas ki, illetve adminon belül oda ír. Hogy lehetne archíválni a linket? És egy oldalon mondjuk 10-et megjeleníteni? Előre is nagyon köszönöm a segítségeteket! Üdv: ridd
Ducktor Posted August 26, 2007 Posted August 26, 2007 (edited) Szia! Ez nem is olyan nehéz, csak szöszölős. Az archiválás annyiban fog kimerülni, hogy nem írod ki a régieket. Az SQL-ben megadod, hogy: WHERE UNIX_TIMESTAMP(Dátum) + (60*60*24*365) > UNIX_TIMESTAMP(NOW()) Ez csak az egy éven belüli híreket listázza. És ezt kell mét megadnod: LIMIT 0,10 A LIMIT a lekérés végére kerül. Ez garantáltan az egy éven belüli hírek közül 10 hírt listáz ki. Amivel csak egy gond van, mindig ugyanazt a 10 hírt listázza ki. A 0 helyére egy változót kellene megadni, ami a 10 hírt tartalmazó oldalak közül az aktuális oldalnak a száma. Úgy értem, ha 3 oldalon jeleníti meg a híreket, mert mondjuk 24 hír van egy éven belül, akkor ha a második oldalon tart, akkor ez a változó (2-1)*10 lesz. azért kell az oldal számából egyet levonni, mert az oldalak 1-gyel kezdődnek. Az oldalszámot pedig érdemes egy $_GET változóban tárolni. Pl. az URL hirek.php?oldal=2 akkor a $_GET["oldal"] 2 lesz. És az oldal aljára berakhatsz két linket, az egyik az előző, amit csak akkor mutat, ha $_GET["oldal"] nagyobb 1-nél, a következőt pedig akkor, ha ($_GET["oldal"]-1)*10 kisebb, mint az összes egy éven belüli hozzászólás. Tehát két lekérdezés kell, az egyikbe ne rakj LIMIT-et, ennek a sorainak a számát ments be egy változóba, mondjuk $ossz_egyeve . A másikba rakd be a LIMIT-et, és azokat irasd ki, a következő link kiírását pedig ellenőrizd így: echo (($_GET["oldal"]-1)*10 < $ossz_egyeve ? "<a href=\"hirek.php?oldal=".($_GET["oldal"]+1)."\">Következő</a>" : "" ); Edited September 2, 2007 by h.arpad
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now