Mám jeden problém so stránkovaním. Hladal som na internete rozne strankovania v phpčku ale žiadny z nich mi nefunguje. Chyba spočíva v tom že aj keď všetko nadstavím tak ako by to aj malo byť teda pripojenie k databazy, select z DB tak sa mi zobrazi na uvodnej stránke aj tak tolko isto článkov ako aj predtým ale odkazy pre dalšie stránky su tam a dokonca funguju, ale proste zakaždým sa zobrazia VŠETKY články a nielen napríklad 4 alebo 5.
Tu je jeden z mnoha príkladov ktorý funguje asi najlepšie zo všetkých. Pokiaľ je napríklad 20 článkov napísanych, a mám nastavené že na stranku sa ma zobraziť 5 výsledkov, tak sa vygenerujú 4 stránky, ašak pokial na hociktorú z nich kliknem tak zakaždým sa zobrazia všetky články, a nie tých 5 atd.
Kód: Vybrať všetko
<?php
$host = "----";
$user = "---";
$pass = "---";
$db = "---";
mysql_connect($host,$user,$pass) or die("ERROR:".mysql_error());
mysql_select_db($db) or die("ERROR DB:".mysql_error());
$max = 5;
$p = $_GET['p'];
if(empty($p))
{
$p = 1;
}
$limits = ($p - 1) * $max;
if(isset($_GET['act']) && $_GET['act'] == "view")
{
$id = $_GET['id'];
$sql = mysql_query("SELECT * FROM entries WHERE id = '$id'");
while($r = mysql_fetch_array($sql))
{
$title = $r['title'];
$story = $r['story'];
$author = $r['author'];
echo "<div><p>$title</p><p>$author</p><p>$story</p></div>";
}
}else{
$sql = mysql_query("SELECT * FROM entries LIMIT ".$limits.",$max") or die(mysql_error());
$totalres = mysql_result(mysql_query("SELECT COUNT(id) AS tot FROM entries"),0);
$totalpages = ceil($totalres / $max);
echo "</tr></table>";
for($i = 1; $i <= $totalpages; $i++){
echo "<a href='index.php?p=$i'>$i</a>|";
}
}
?>