ugrás a tartalomhoz

Lapozós fórum megjelenítés helyes sorszámozással

Farstaff · 2007. Ápr. 6. (P), 11.43
Sziasztok!
Oldalszámozást szeretnék az oldalam fórumába. Azt szeretném, hogy 1 oldalon csak 10 üzenet látszódjon. Ha már 11 üzenet van a lap alján megjelenjen , hogy 2. oldal. Ráklikkel a felhasználó és akkor 11-20-ig mutatja az üzeneteket. Erre nekem van egy kódom:

<?php



for($i=1;$i<=110;$i=$i+1){
$termek[$i]=$i;
}


$termekek_db=count($termek);

if(isset($_REQUEST["lap_szam"])){
$kezd=(($_REQUEST["lap_szam"]*10)-9);
if($termekek_db < ($kezd+9)){
$veg=$termekek_db;
} else {
$veg=($kezd+9);
}
}
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
#link1:hover{
text-decoration: underline;
color:#00FF00;
font-size: 12px;
}
-->
</style>
</head>

<body>

<?php

if($termekek_db > 10){
$mennyi=0;
$szam=$termekek_db;

while($szam > 0){
$mennyi=$mennyi+1;
$szam=$szam-10;
}
print("Talált oldalak: ");
for($k=1;$k<=$mennyi;$k=$k+1){
print("[<a id='link1' href='oldalszamozas.php?lap_szam=".$k."'>".$k."</a> ] ");
}
}

for($i=$kezd;$i<=$veg;$i=$i+1){

print("<br>".$termek[$i]."<br>");

}

?>

</body>
</html>
De természetesen ez nem elég. Nem tudom, hogy hova szúrjam bele a fórumomat. Mert ugye természetesen így nem tudja megszámolni, hogy hány tagja van. Így mivel a fórumomban az utolsó 10 üzenet látszik, akármelyik lapra lépek mindíg az a 10 üzenet látszik amelyiket legutóbb beküldték. Remélem érthető a gondom :)
 
1

SQL

janoszen · 2007. Ápr. 6. (P), 12.23
Ezt már SQL szinten is meg lehet csinálni. Ha meg akarod kérdezni, hány oldal van:
SELECT CEIL(COUNT(*)/10) AS 'oldalak' FROM hozzaszolasok WHERE topic='azentopicom';
Ahhoz pedig, hogy lekérd a megfelelő hozzászólásokat:
SELECT * FROM hozzaszolasok WHERE topic='azentopicom' LIMIT 20,10;
Értelemszerűen a limit első paraméterét PHP-ban meghatározod. Nem teszteltem le, de valahogy így kell működnie.

Azt viszont nem értem, hogy honnan szedi a scripted az adatokat...