Kezdőoldal » Számítástechnika » Weblapkészítés » Tud írni valaki egy egyszerű...

Tud írni valaki egy egyszerű lapozót? (PHP)

Figyelt kérdés

Hello!


Adott egy while ciklus. Híreket listáz ki szépen egymás alá. Azt szeretném, ha egyszerre csak 5 hír jelenjen meg.


(ok vágom, dobok egy "LIMIT 5"-t a lekérdezésem végére)


Az oldal aljára kellene egy kis lapozó... nem kellenek oldalszámok meg ilyesmik. Egyszerűen egy jobbra balra mutató nyíl.


Az első oldalon persze csak jobbra mutató, az utolsó oldalon meg persze csak balra mutatót.


Most jelenleg nem segítséget kérek hanem egy kis kódrészletet... bizonyára nem nehéz de nem terjed ki erre a tudásom. Próbáltam googlezni pager-ekre de azok bonyolultak. Nekem tényleg csak ez a jobbra 5 balra 5 kellene.

Remélem lesz aki megvág egy kóddal. köszönöm!


2011. febr. 5. 19:38
 1/3 anonim ***** válasza:

Csinálsz egy változót, amihez minden lapozásnál hozzáadsz 5-öt, majd a lekérdezésnél

"SELECT * FROM table LIMIT ".$valt.", 5"

Ez mindig 5 sort kivesz, majd, a következő lapnál növeled a valt-ot, vagy csökkented.

Az, hogy ne jelenítse meg, egy egyszerű if-el csinálhatod meg, ha $valt=0 akkor az előzőt nem jeleníted meg, ha $valt>mysql_num_rows($query)-5

Tehát egyenlő az összessel, akkor pedig a következőt nem jeleníted meg.

Innen már csak ujjgyakorlat ezt megírni.

2011. febr. 5. 19:47
Hasznos számodra ez a válasz?
 2/3 A kérdező kommentje:
köszi használnom kellett hozzá az agyam ami kicsit nehezemre esett de megoldottam, félig... a két nyíl már megvan, az IF-es dologgal ma próbálkozok majd mert tegnap olyan fáradt voltam h egyszerűen nem fogtam fel a dolgokat :D ha nem megy akkor jelentkezem :)
2011. febr. 6. 10:24
 3/3 anonim ***** válasza:

montihun válasza:


Egy lehetséges megoldás, nem teszteltem, lehet benne hiba:


$currpage=$_GET['currpage'];


$item_per_page=50;


$max=mysql_num_rows(mysql_query("select ..."));


$maxpage=$max/$item_per_page;


if (intval($maxpage)!=$maxpage) { $maxpage=intval($maxpage); $maxpage++; }


if ($currpage<1) $currpage=1;

if ($currpage>$maxpage) $currpage=$maxpage;


$nextpage=$currpage++;

$prevpage=$currpage--;


if ($nextpage>$maxpage) $nextpage=$maxpage;

if ($prevpage<1) $prevpage=1;


$start=($currpage*$item_per_page)-50;


$q=mysql_query("select * from ... limit $start, $item_per_page");


while ($cucc=mysql_fetch_object($q))

{

...

}


if ($currpage>1) print "<a href=?currpage=$prevpage><-</a>

for ($x=1; $x<=$maxpage; $x++)

{

if ($x==$currpage) print $x." ";

else print "<a href=?currpage=$x>$x</a> ";


}

if ($currpage<$maxpage) print "<a href=?currpage=$nextpage>-></a> ";


Azzal meg el lehet játszani, hogy túl sok oldal esetén mennyit jelenítsen meg, és hogyan, én legutóbb úgy csináltam, hogy

<- 1 2 3 ... aktuális-3 akt-2 akt-1 akt akt+1 akt+2 akt+3 ... utolsó-3 ut-2 ut-1 ->

2011. febr. 6. 20:41
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!