php通过序列号进行页面导航

2023-12-11

任何人都可以帮助这个 php 页面导航脚本打开计算正常序列号吗?在这个脚本中有一个名为“page_id”的变量 - 我希望这个变量按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) 当此脚本显示链接但相反时,我想按正常顺序链接到真实页码。

真的需要帮助解决这个问题!提前致谢!


一位程序员帮助我完成了上述脚本。这是 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。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

php通过序列号进行页面导航 的相关文章

  • php56 - CentOS - Remi 仓库

    我刚刚在测试盒上安装了 php 5 6 正常的 cli php 解释器似乎不存在 gt php v bash php command not found gt php56 v PHP 5 6 13 cli built Sep 3 2015
  • file_get_contents,HTTP 请求失败

    我尝试使用以下方式从另一个网站获取内容file get contents但我总是收到 无法打开流 HTTP 请求失败 allow url fopen 已打开 并且我已经在防火墙关闭的情况下进行了测试 但还是会出现这种情况 请问还有什么原因呢
  • Facebook 扩展权限

    更新2 好的 通过更改使其 有点 工作 loginUrl facebook gt getLoginUrl array canvas gt 1 fbconnect gt 0 req perms gt publish stream next g
  • PHP 自定义会话处理程序问题 (PHP 7.1)

    我刚刚在计算机上从 PHP 7 0 迁移到 PHP 7 1 当前版本的 WAMP 的全新 全新安装 它似乎破坏了自定义会话处理程序中的某些内容 该处理程序应该将会话保存到数据库而不是使用文件系统 自定义处理程序类是 class db ses
  • WooCommerce 自定义字段 - 多选

    我在 WooCommerce 的结账页面添加额外的字段 我可以添加文本框等基本字段 但需要添加一个 多 选择框 用户可以在其中选择多个项目 我已经弄清楚如何通过代码添加选择框 如下所示 add action woocommerce afte
  • PHP 多个 Ajax 请求:第一个请求阻止第二个请求

    我在一页上有 2 个 ajax 请求 我运行了第一个请求并单独启动了第二个请求 但第二个在第一个运行后停止工作 第一次结束后继续 第一个请求需要很长时间 大约 30 60 秒 此时我需要第二个请求来显示日志第一个请求发生的情况 我尝试使用
  • 如何使用 Google Calendar API 和官方 PHP 库创建全天活动?

    我有这个代码 event new Event event gt setSummary event summary event gt setLocation event location start new EventDateTime sta
  • FPM 与 apache2 无法工作(权限被拒绝)

    我正在尝试使用 apache fastcgi 和 fpm 设置一个 Debian Web 服务器 但我越来越恼火 一旦我停用 mod php 我就会收到以下错误 2014 年 5 月 22 日星期四 12 16 10 错误 客户端 xxx
  • 如何捕获反序列化异常?

    PHP 是否可以在以下情况下捕获异常 unserialize 产生错误 一个简单的方法是 ret unserialize foo if ret null Error case 但这不是最现代的解决方案 最好的方法是像前面提到的那样有一个自定
  • Twitch API - 无法使用 PHP 获取身份验证令牌

    stackoverflow 的成员们大家好 我不是一个喜欢寻求帮助的人 但在这种情况下 我认为这是解决我的问题的唯一方法 谷歌并没有给我太大帮助 所以 我的问题 我想使用 Twitch API 获取一些数据 听起来很容易 我希望是这样 下面
  • PHP 搜索部分字符串

    如何在键入时搜索部分字符串 不使用 MySQL 例如 MySQL 中的 LIKE 函数 但在搜索字符串时使用 PHP 例如 但这显然行不通 但是有没有一个函数可以搜索部分字符串 那太好了 EDIT 如果它在数组中怎么办 如果我使用 strp
  • PHP 何时实现了函数使用闭包? [复制]

    这个问题在这里已经有答案了 我在 PHP 手册中找不到解释的部分use 我有代码 num 0 array walk recursive REQUEST function mValue use num num 我的 Eclipse 抱怨 Pa
  • 将 Base64 字符串转换为图像文件? [复制]

    这个问题在这里已经有答案了 我正在尝试将我的 Base64 图像字符串转换为图像文件 这是我的 Base64 字符串 http pastebin com ENkTrGNG http pastebin com ENkTrGNG 使用以下代码将
  • 如何检测iPhone是否有视网膜显示屏?

    如何检测 iPhone 是否配备视网膜显示屏 有靠谱的办法吗 要么是纯 PHP 要么最好是 Zend Framework 方式来执行此操作 我通过这个弄清楚了 var retina window devicePixelRatio gt 1
  • 安全地评估简单的数学

    我想知道是否有一种安全的方法来评估数学 例如 2 2 10000 12000 10000 20 2 2 40 20 23 12 无需使用eval 因为输入可以来自任何用户 我需要实现的只是整数的加法和减法 是否有任何已经存在的代码片段 或者
  • 访问 PHP 数组对象受保护的属性

    我正在尝试在 Symfony2 中上传多个文件 我正在尝试访问以下请求对象 但无法获取参数属性 如何将文件一一上传 我得到的错误 致命错误 无法访问第 66 行 var www File src Webmuch FileBundle Ent
  • Laravel 5 Eloquent 在多个级别上将关系附加到 JSON

    因此 在模型中包含关系非常容易 例如 class User extends Model protected with roles class Role extends Model protected with permissions 当有对
  • 使用 yaml 路由描述时如何在运行时获取 Symfony2 中的路由名称?

    在这里你可以找到我的n关于 Symfony2 的第一个问题 我正在与一个分页捆绑 https github com makerlabs PagerBundle wiki使用中提供的路由名称routing yml文件 从我的角度来看 这种方法
  • 在 Elasticsearch php API 中使用多种类型或索引

    我想使用查询多种类型和索引Elasticsearch PHP API 但我不知道怎么办 我应该将类型和索引的数组传递给 params params index index array of indices params type types
  • 单元测试和静态方法

    阅读并学习单元测试 试图理解以下帖子 http misko hevery com 2008 12 15 static methods are death to testability 这解释了静态函数调用的困难 我不太清楚这个问题 我一直认

随机推荐

  • 从 URL 获取 HTTP 响应代码的最佳方法是什么?

    我正在寻找一种从 URL 获取 HTTP 响应代码 即 200 404 等 的快速方法 我不确定要使用哪个库 更新使用精彩请求库 请注意 我们使用的是 HEAD 请求 它应该比完整的 GET 或 POST 请求发生得更快 import re
  • 将片段实例保留在 FragmentPagerAdapter 中

    是否可以保留为某个片段创建的每个片段的实例 FragmentPagerAdapter在 的里面FragmentPagerAdapter 像这样的东西 Override public Object instantiateItem ViewGr
  • 同时下载多个页面?

    我想用Python编写一个脚本 它可以从数据库中获取url 并同时下载网页以加快速度 而不是等待每个页面一个接一个地下载 根据这个线程 Python 不允许这样做 因为称为全局解释器锁这可以防止多次启动相同的脚本 在投入时间学习 Twist
  • 无法从jupyterhub/jupyter笔记本调用tensorflow gpu,为什么?

    好吧 我认为八个小时足够我自己解决这个问题 所以我只想问大家 我在 jupyterhub 和 Jupyter Notebook 之外的名为 tensorflow 的虚拟环境中运行 tensorflow gpu 1 1 0 运行得很好 也就是
  • Scrapy CrawlSpider 基于 start_urls 的动态规则?

    我正在编写一个 Scrapy 抓取工具 它使用 CrawlSpider 来抓取网站 检查其内部链接 并抓取任何外部链接 域与原始域不同的链接 的内容 我设法用两条规则来做到这一点 但它们是基于正在爬网的网站的域 如果我想在多个网站上运行它
  • 当每一侧有不同数量的项目时,将弹性项目置于一行中居中

    如何实现图片上绘制的布局 例如 左侧 3 项 一项居中 两项在右侧 ul 是橙色 黑框是项目 ul display flex width 100 ul li Item 1 li li Item 2 li li Item 3 li li It
  • scala 集合:映射列表并携带一些状态?

    我似乎一直遇到这个问题 我想修改列表中的一些元素 但我需要在这样做时保留一些状态 因此地图不起作用 这是一个例子 scala gt val l1 List a b c d e f b c e b a l1 List String List
  • Arm 板上有两个以上的 SPI 设备,但只支持两个?

    我们其中一块板上的 Arm 处理器有一个 spi 端口 带有两条片选线 该处理器的数据表中提到它最多可以控制两个 spi 设备 是否可以使用 GPIO 作为附加 spi 设备的从选择 如何修改现有的库 设备驱动程序以支持此更改 到目前为止
  • Linux C++ 尝试使用绝对路径加载一个特定库,而所有其他库则使用相对路径链接

    我有以下问题 我正在尝试创建程序的可移植版本 因此我将 rpath 设置为 因此所有库都使用相对文件路径链接 这确实适用于除一个库之外的所有库 由于某种原因 只有当一个特定库存在于编译时链接的同一位置时 该程序才能工作 这是我自己写的 它的
  • 在 Flex Line 图表中显示数据点

    我有一个弹性折线图 有没有办法改变每个点的渲染并让它们始终显示 而不是必须将鼠标悬停在线条的某些部分上才能查看数据点的默认行为 几乎就像连接点类型视图 Try this
  • 使用 CGSizeMake 和 CGSize 有什么区别?这个比那个好吗?

    CGSize width 360 height 480 and CGSizeMake 360 480 似乎有同样的效果 一个比另一个更受青睐吗 有什么不同 The CGSize构造函数是 Swift 的扩展CGSize extension
  • Visual Studio 2022 发布窗口未检测身份验证状态

    我已经登录到 VS2022 因此也登录到 Azure 但在尝试发布应用程序时 我看到以下屏幕 从右上角可以看出我已经登录了 那么我什么时候得到这个 我什至尝试了这个建议link 我退出并删除了 localappdata IdentitySe
  • 可滚动的 JFree 域轴和自定义标记标签

    我有这段代码来绘制图表 效果很好 我这里需要两件事 在域轴 x 上我希望能够滚动 在标记上我看到一条粗粗的线 我希望能够看到该标记的一些可读文本 For now I see this output 缩放后我看到了这个 同样在域轴上我有毫秒值
  • 在 JavaScript 中重试 Promise 的通用解决方案

    我尝试给出一个重试承诺的通用解决方案 以下是我的方式 出现 未捕获 承诺 的错误 我该如何解决这个问题 function tryAtMost maxRetries promise let tries maxRetries return ne
  • SQL Server 2005 - 如何将图像数据类型转换为字符格式

    背景 我是一名软件测试人员 使用测试用例管理数据库 该数据库使用已弃用的图像数据类型存储数据 我对 SQL Server 比较缺乏经验 问题 具有富文本格式的字符数据存储为图像数据类型 目前 以人类可读格式查看这些数据的唯一方法是通过测试用
  • 在 PHP 中寻找加载依赖项/服务/配置的优雅方法?

    我正在构建一个 MVC PHP 框架 我想知道哪些是在我的类中加载所需内容的最佳实践 无论是其他类还是普通配置 到目前为止 我已经使用了单例 注册表以及最近的依赖注入容器 虽然许多人声称 DI 是可行的方法 但在我看来 它只是将组件之间的耦
  • ASP.NET 中的 OpenIDSelector 问题

    我正在尝试使用 asp net c 在我的网站中使用 OpenID 我正在使用 asp net v4 开发 asp net 表单网站 我遇到的问题是我的工具箱中的 openidselector 控件是由 dotnetopenauth dll
  • dbms_output.put() 的缓冲方式与 dbms_output.put_line() 不同吗?

    我使用 Aqua Data Studio 通过分散输出语句来调试存储过程 我在包中有一条违反完整性约束的删除语句 DELETE FROM x WHERE x ID an x with children 正如预期的那样 我的过程在该行失败并出
  • 为什么类的静态方法可以继承,而接口的静态方法不能继承?

    我知道在Java中静态方法就像实例方法一样被继承 不同之处在于当它们被重新声明时 父实现被隐藏而不是被覆盖 好吧 这是有道理的 然而 Java 教程注意到 接口中的静态方法永远不会被继承 为什么 常规方法和接口静态方法有什么区别 让我澄清一
  • php通过序列号进行页面导航

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