我正在使用下面給出的這個分頁腳本。問題是它給了頁面的連續計數。舉例來說,如果有10個頁面,它會給出數字1 2 3 4 5 6 7 8 9 10
(全部可點擊各個頁面)。我想要的是在5之後打破分頁計數。它應該顯示1 2 3 4 5.......9 10
。然後,當我點擊第5頁時,它應該隱藏1並顯示爲2 3 4 5 6....9 10
。請幫幫我。打破分頁頁數
$start = 0;
$limit = 1;
if(isset($_GET['id'])){
$id = (!empty($_GET['id']))?$_GET['id']:null;
$start = ($id-1)*$limit;
}else{
$id = null;
}
$stmt = $pdo->prepare("SELECT ad_id, ad_description, ad_url, ad_memclicks, ad_visclicks, ad_status, avc_clicks FROM ads
LEFT JOIN ads_viewed_cost ON ads.ad_clicks = ads_viewed_cost.avc_id
WHERE ad_user = :user LIMIT $start, $limit");
$stmt-> bindValue(':user', $sessionid);
$stmt-> execute();
$count = $pdo->prepare("SELECT COUNT(*) as cnt FROM ads LEFT JOIN ads_viewed_cost ON ads.ad_clicks = ads_viewed_cost.avc_id WHERE ad_user = :user");
$count-> bindValue(':user', $sessionid);
$count-> execute();
$rf = $count->fetch();
$rows = $rf['cnt'];
$total = ceil($rows/$limit);
if($id>1){
echo "<span class='pre'><a href='?id=".($id-1)."' class='button'>PREVIOUS</a></span>";
}
if($id!=$total){
echo "<span class='next'><a href='?id=".($id+1)."' class='button'>NEXT</a></span>";
}
echo "<ul class='pagination'>";
for($i=1; $i<=$total; $i++){
if($i == $id){
echo "<li class='current'>".$i."</li>";
}else{
echo "<li><a href='?id=".$i."'>".$i."</a></li>";
}
}
echo "</ul>";
我的錯好抱歉..你是對的。我想要去的第二個方法..但是,當我換成我的代碼,三個點的最後一個號碼後只來了,不是你在上面的例子中給出了'1 ... 12 13 [14] 15 16 ... 100' ..只有我得到的點不在正確的位置,否則代碼正如你所說的那樣工作。 –
對於什麼頁面'$ id'?這兩個點集只會出現在第10頁的第5頁和第6頁。 – domwrap
沒有它沒有出現在你提到的地方..它出現在最後一個數字之後,不管我在哪個頁面..但是謝謝你的解決方案..除了點東西我得到了我想要的休息......謝謝:) –