Ben bir MySQL sorgu var
SELECT * FROM 'redirect'
WHERE 'user_id'= \''.$_SESSION['user_id'].' \'
ORDER BY 'timestamp'`
Sayfa başına 10 sonuç sayfalandırmamayı istiyorum. Ben bunu nasıl yapabilir miyim?
Burada güzel bir başlangıç noktasıdır:
<?php
// insert your mysql connection code here
$perPage = 10;
$page = (isset($_GET['page'])) ? (int)$_GET['page'] : 1;
$startAt = $perPage * ($page - 1);
$query = "SELECT COUNT(*) as total FROM redirect
WHERE user_id = '".$_SESSION['user_id']."'";
$r = mysql_fetch_assoc(mysql_query($query));
$totalPages = ceil($r['total'] / $perPage);
$links = "";
for ($i = 1; $i <= $totalPages; $i++) {
$links .= ($i != $page )
? "<a href='index.php?page=$i'>Page $i</a> "
: "$page ";
}
$r = mysql_query($query);
$query = "SELECT * FROM 'redirect'
WHERE 'user_id'= \''.$_SESSION['user_id'].' \'
ORDER BY 'timestamp' LIMIT $startAt, $perPage";
$r = mysql_query($query);
// display results here the way you want
echo $links; // show links to other pages
Kullan LIMIT.
SELECT *
FROM redirect
WHERE user_id = '35251'
ORDER BY timestamp
LIMIT 40, 10
40 atlamak için kaç kayıt olduğunu, 10 görüntülemek kaç olduğunu.
Lütfen PHP ile birkaç sorunlar da vardır. Tablo ve sütun adlarını çevreleyen backticks (tek tırnak değil) kullanın. Ve sizin sorgu oluşturmak için dize birleştirme kullanmak gerekir.