Egy lapozást próbálnék php-ben megoldani, de valamiért nem megy, hol lehet a hiba?
adott nekem egy táblám,id,userid,kep,nev sorom,amihez a kövi lapozós php rész társul:
<?php
include "sessions.php";
$from = 5;
$sql = "SELECT * FROM leltar where userid = '$userid' ORDER BY id DESC LIMIT " . $from . "";
$query=mysql_query($sql);
if (!$query) {
die('Invalid query: ' . mysql_error());
}
while($sor=mysql_fetch_array($query))
{
echo "<div class="item">
<a href="$PHP_SELF?page=leiras&id=$sor[id]">
<img src="$sor[kep]" alt="$sor[nev]">
</a>
<p>
<a href="$PHP_SELF?page=leiras&id=$sor[id]">
$sor[nev]
</a>
</p>
</div>";
};
echo "<a href="felszerelesek.php?userid = '$userid'&from=" . ($from - 5) . "">elozo oldal</a>";
echo "<a href="felszerelesek.php?userid = '$userid'&from=" . ($from + 5) . "">kovetkezo oldal</a></table>";
?>
az a baj,hogy van nekem 6 elemem,az első oldalon ugye 5 elem lesz majd(köszönhető a LIMIT-nek),de ha lapozok akkor nem a maradék 1 elem jön vissza,hanem az előző oldalról az 5. Mit ronthattam el? :S
Ne privátba..
Az include 'session.php' mit csinál ott ? Mellesleg: [link]
1. a $from változó értékét az átküldött adatoktól függetlenül beállítod a fájl elején. Ha már GET-tel elküldöd az új értéket, akkor használd is:
$from = 0;
if (isset($_GET["from"])) { $from = $_GET["from"]; }
2. A LIMIT kapcsoló így elég kevés. Kellene egy olyan érték is, amivel közlöd, hány rekordot olvasson ki, mert így csak a kezdő rekordot küldöd el, és ilyenkor az összes további rekordot listázni fogja. Inkább így:
... LIMIT ".$from.", 5";
3. Az oldallapozónál jó lenne betenned valamilyen ellenőrzést betenni, hogy milyen értékeket vehet fel a $from. Pl 0 alá ne menjen, illetve ne legyen nagyobb mint a maximális rekordszám.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!