php页面按序列号导航

2022-01-10 00:00:00 reverse navigation php

任何人都可以帮助这个 php 页面导航脚本开关计算正常的序列号吗?在此脚本中有一个名为page_id"的变量 - 我希望此变量按 0、1、2、3、4、5 等顺序存储真实页面链接...

Can anyone help in this php page navigation script switch on counting normal serial number? In this script there is a var called "page_id" - I want this var to store the real page link by order like 0, 1, 2, 3, 4, 5 ...

<?
$onpage = 10; // on page

/*
 $pagerecord - display records per page
 $activepage - current page
 $records - total records
 $rad - display links near current page (2 left + 2 right + current page = total 5)
*/

function navigation($pagerecord, $activepage){

$records = 55;
$rad = 4;

if($records<=$pagerecord) return;

$imax = (int)($records/$pagerecord);
if ($records%$pagerecord>0)$imax=$imax+1;

if($activepage == ''){
$for_start=$imax;
$activepage = $imax-1;
}
$next = $activepage - 1; if ($next<0){$next=0;}
$end =0;
$prev = $activepage + 1; if ($prev>=$imax){$prev=$imax-1;}
$start=  $imax;
if($activepage >= 0){
$for_start = $activepage + $rad + 1; 
if($for_start<$rad*2+1)$for_start = $rad*2+1;
if($for_start>=$imax){ $for_start=$imax; }
}
if($activepage < $imax-1){
$str .= ' <a href="?page='.($start-1).'"><<< End</a> <span style="color:#CCCCCC">•</span> <a href="?page='.$prev.'">< Forward</a> | ';
}
$meter = $rad*2+1;  //$rad; ---------------------
for($i=$for_start-1; $i>-1; $i--){
$meter--;
//$line = '|'; if ($meter=='0'){ $line = ''; }
$line = ''; if ($i>0)$line = '|';
if($i<>$activepage){
$str .= " <a href='?page=".$i."&page_id=xxx'>".($i)."</a> ".$line." ";
} else {
$str .= " <strong>[".($i)."]</strong> ".$line." ";
}

if($meter=='0'){ break; }
}
if($activepage > 0){
$str .= " | <a href='?page=".$next."'>Back ></a> <span style='color:#CCCCCC'>•</span> <a href='?page=".($end)."'>Start >>></a> ";
}

return $str;

}

if(is_numeric($_GET["page"])) $page = $_GET["page"];
$navigation = navigation($onpage, $page); // detect navigation

echo $navigation;
?>

这里是 xxx (page_id=xxx) 当此脚本显示链接但反向时,我想按正常顺序链接到实际页码.

Instead xxx here (page_id=xxx) I want to link to real page number by normal order when this script show links but reversed.

在这方面真的需要帮助!提前致谢!

Really need help with this stuff! Thanks in advance!

推荐答案

我的上述脚本得到了一位程序员的帮助.所以这是一个 PHP 上反向页面导航的工作示例.

I were helped by one of the programmers with my above script. So here is a worked example of the reversed page navigation on PHP.

<?
$onpage = 10; // on page

/*
 $pagerecord - display records per page
 $activepage - current page
 $records - total records
 $rad - display links near current page (2 left + 2 right + current page = total 5)
*/

function navigation($pagerecord, $activepage){

$records = 126;
$rad = 4;

if($records<=$pagerecord) return;

$imax = (int)($records/$pagerecord);
if ($records%$pagerecord>0)$imax=$imax+1;

if($activepage == ''){
$for_start=$imax;
$activepage = $imax-1;
}
$next = $activepage - 1; if ($next<0){$next=0;}
$end =0;
$prev = $activepage + 1; if ($prev>=$imax){$prev=$imax-1;}
$start=  $imax;
if($activepage >= 0){
$for_start = $activepage + $rad + 1;
if($for_start<$rad*2+1)$for_start = $rad*2+1;
if($for_start>=$imax){ $for_start=$imax; }
}

$meter = $rad*2+1;  //$rad; ---------------------
$new_meter = $for_start-1;
if($activepage < $imax-1){
$str .= ' <a href="?page='.($start-1).'&page_id='.$end.'"><<< End</a> <span style="color:#CCCCCC">•</span> <a href="?page='.$prev.'&page_id='.($imax-$prev-1).'">< Forward</a> | ';
}
for($i=$for_start-1; $i>-1; $i--){
$meter--;
//$new_meter++;
//$line = '|'; if ($meter=='0'){ $line = ''; }
$line = ''; if ($i>0)$line = '|';
if($i<>$activepage){
$str .= " <a href='?page=".$i."&page_id=".($imax-$i-1)."'>".($i)."</a> ".$line." ";
} else {
$str .= " <strong>[".($i)."]</strong> ".$line." ";
}

if($meter=='0'){ break; }
}
if($activepage > 0){
$str .= " | <a href='?page=".$next."&page_id=".($imax-$next-1)."'>Back ></a> <span style='color:#CCCCCC'>•</span> <a href='?page=".($end)."&page_id=".($start-1)."'>Start >>></a> ";
}

return $str;

}

if(is_numeric($_GET["page"])) $page = $_GET["page"];
$navigation = navigation($onpage, $page); // detect navigation

echo $navigation;
?>

$page = 保持页码不倒序

$page_id = 按顺序保留真实页面.因此您可以对数据库进行 SELECT 查询并使用 ORDER BY id DESC.

$page_id = keeps the real page by serial order. so you can make SELECT queries to database and ORDER BY id DESC use.

相关文章