PHP 一个完整的分页类(附源码)
如果是ajax调用:
//$total,总数(int);$size,每页显示数量(int);$page,当前页(int),$url,链接(string);ajax,js函数名;
$page = new Page(array('total'=>$total,'perpage'=>$size,'nowindex'=>$page,'url' => $url,'ajax' => 'videoGoToPage'));
//变量$page_html为分页的html,参数4是分页的显示样式是第四种
$page_html = $page->show(4);
//然后在页面中加入jQuery包和js代码:
function videoGoToPage(u)
{
if(!u)
{
return false;
}
$.ajax({
type: “POST”,
url: “” + u,
data: “”,
success: function(msg){
//alert( “Data Saved: ” + msg );
$(“#tonglei”).html(msg);
}
});
}
如果不是ajax调用:
//直接去掉数组中'ajax'这项就可以了
$page = new Page(array('total'=>$total,'perpage'=>$size,'nowindex'=>$page,'url' => $url));
$page_html = $page->show(4);
说明:对于url,因为我用的是伪静态,比如我的页面链接是 search-1.html 表示第一页,search-2.html为第二页,那么我的$url变量
就应该写成 $url = 'search-';
分页类会自动补全后面的 “页数 .html”,这里可以根据自己的需要修改分页类。
下面把page.class.php分享给大家
代码如下 | 复制代码 |
<?php /** /** } /** /** /** function nowbar($style='',$nowindex_style='c') /** /** } /** if(isset($_GET[$this->page_name])){ /** /** /** |
php分页类源码下载包:http://file.111cn.net/download/2013/06/08/pageClass.rar
在很多网站用户先访问一个要登录的页面,但当时没有登录后来登录了,等待用户登录成功之后肯定希望返回到上次访问的页面,下面我就来给大家介绍登录后跳转回原来要访问的页面实例最简单的办法就是直接使用php $_SERVER['HTTP_REFERER']
如果我在A.php页面要登录
现在跳到B.php页面,我们只要在b.php中加如下代码
代码如下 | 复制代码 |
$url = $_SERVER['HTTP_REFERER']; |
但是上面的办法会有很多不足,如带参数等等,但在IE浏览器下的话,假如你是通过js的location来跳转的话,那这个值是获取不到的。
下面我做一个全面点的。
首先创建一个方法判断是否登录,如果没登录则
代码如下 | 复制代码 |
protected function checkLogin() { |
然后在需要登录的才能反问的页面调用这个方法:
代码如下 | 复制代码 |
$this->checkLogin(); |
这样如果你没有登录则跳转到登录页面。并带上了你之前页面的url:
然后获取URL提交登录:
代码如下 | 复制代码 |
public function login() { |
模板上获取到url后提交到php后台,登录后跳转到这个url ok搞定
在php中下载文件我们用得最多的是直接使用readfile()函数,readfile()可以实现把服务器源文件给下载,下面我来给大家介绍readfile下载文件的方法与性能介绍例1
代码如下 | 复制代码 |
<?php // 文件将被称为 downloaded.pdf // PDF 源在 original.pdf 中 ?> |
例2
代码如下 | 复制代码 |
$item=trim($_GET['fileName']).".txt"; |
上面只能下载本地函数,如果要下载远程的我们可以如下操作PHP远程下载文件到本地的函数
代码如下 | 复制代码 |
<?php echo httpcopy("/baidu_sylogo1.gif"); function httpcopy($url, $file="", $timeout=60) { if(function_exists('curl_init')) { |
最后分享一个支持多种文件下载的类函数
代码如下 | 复制代码 |
<?php |
购物车类:shop_cart.php
购物车的操作:cart_action.php
首页:index.html
Ajax操作用到了jquery,还有一个jquery插件thickbox
不多说了你可以先看看效果示例
shop_cart.php当然是购物车的核心,但是这个类很简单,因为他又引进了cart_action.php用于对外操作。所以这个类显得相当精简。
购物车类shop_cart.php
代码如下 | 复制代码 |
cart_name = $name; /** /** /** /** /** /** /** /** ?> |
对于cart_action,他实现了shop_cart类与index的中间作用,用于更新,删除,增加商品的操作。
cart_action.php
代码如下 | 复制代码 |
getItemQuantity($_GET['order_code'])+$_GET['quantity']; if ( !empty($_GET['quantity']) ) { if ( !empty($_GET['remove']) ) { header('Location: cart.php'); ?> |
还有就是index.html实现对外的操作,也就是添加操作
代码如下 | 复制代码 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script type="text/javascript"> return false; |
还有就是cart.php这是我们的购物车
代码如下 | 复制代码 |
<?php include('shopping_cart.class.php'); session_start(); $Cart = new Shopping_Cart('shopping_cart'); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <head> <title>Shopping Cart</title> <script src="js/jquery-1.2.6.pack.js" type="text/javascript"></script> <script src="js/jquery.color.js" type="text/javascript"></script> <script src="js/cart.js" type="text/javascript"></script> <link href="css/cart.css" rel="stylesheet" type="text/css" media="screen" /> </head> <body> <div id="container"> <h1>Shopping Cart</h1> <?php if ( $Cart->hasItems() ) : ?> <form action="cart_action.php" method="get"> <table id="cart"> <tr> <th>数量</th> <th>商品名称</th> <th>商品编号</th> <th>单价</th> <th>总价</th> <th>删除</th> </tr> <?php $total_price = $i = 0; foreach ( $Cart->getItems() as $order_code=>$quantity ) : $total_price += $quantity*$Cart->getItemPrice($order_code); ?> <?php echo $i++%2==0 ? "<tr>" : "<tr class='odd'>"; ?> <td class="quantity center"><input type="text" name="quantity[<?php echo $order_code; ?>]" size="3" value="<?php echo $quantity; ?>" tabindex="<?php echo $i; ?>" /></td> <td class="item_name"><?php echo $Cart->getItemName($order_code); ?></td> <td class="order_code"><?php echo $order_code; ?></td> <td class="unit_price">$<?php echo $Cart->getItemPrice($order_code); ?></td> <td class="extended_price">$<?php echo ($Cart->getItemPrice($order_code)*$quantity); ?></td> <td class="remove center"><input type="checkbox" name="remove[]" value="<?php echo $order_code; ?>" /></td> </tr> <?php endforeach; ?> <tr><td colspan="2"></td><td colspan="3" id="total_price">您的消费总金额是:¥<?php echo $total_price; ?></td></tr> </table> <input type="submit" name="update" value="保存购物车" /> </form> <?php else: ?> <p class="center">您还没有购物.</p> <?php endif; ?> <p><a href="load.php">加载简单的购物车</a></p> </div> </body> </html> |
php 创建文件的方法有很多种我们最常用的就是fopen,file_put_contents这两种方法来创建文件了,下面我来给大家详细介绍介绍,有需要了解的同学可参考。
创建php文件
代码如下 | 复制代码 |
<?php |
例2
代码如下 | 复制代码 |
<?php ?>"); |
利用fopen创建文件
代码如下 | 复制代码 |
<? $fp=fopen("1.txt","w+");//fopen()的其它开关请参看相关函数 |
上面没作任何考虑,如果要全面点我们首先,确定你所要新建文件所在的目录权限; 建议设备为777。然后,新建文件的名称建议使用绝对路径。
代码如下 | 复制代码 |
<?php |
'r' 开文件方式为只读,文件指’指到开始处
'r+' 开文件方式为可读写,文件指’指到开始处
'w' 开文件方式为写入,文件指’指到开始处 并将原文‘的长度设为 0。若文件不存在‘‘建立新文件–
'w+' 开文件方式为可读写,文件指’指到开始处 并将原文‘的长度设为 0。若文件不存在‘‘建立新文件–
'a' 开文件方式为写入,文件指’指到文件最后。若文件不存在‘‘建立新文件–
'a+' 开文件方式为可读写,文件指’指到文件最后。若文件不存在‘‘建立新文件–
'b' 若操作系统的文字及二进位文件不同,‘可以用“‘”,UNIX 系统不–要“用 参”。
代码如下 | 复制代码 |
///创建文件 |
相关文章
- 我们这里介绍php与KindEditor编辑器使用时如何利用KindEditor编辑器的分页功能实现文章内容分页,KindEditor编辑器在我们点击分页时会插入代码,我们只要以它为分切符,就...2016-11-25
- 最近接了一个项目,其中有需求要用到jquery分页控件,上网也找到了需要分页控件,各种写法各种用法,都是很复杂,最终决定自己动手写一个jquery分页控件,全当是练练手了。写的不好,还请见谅,本分页控件在chrome测试过,其他的兼容性...2015-10-30
- 这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
- 本文实例讲述了jquery实现的伪分页效果代码。分享给大家供大家参考,具体如下:这里介绍的jquery伪分页效果,在火狐下表现完美,IE全系列下有些问题,引入了jQuery1.7.2插件,代码里有丰富的注释,相信对学习jQuery有不小的帮助,期...2015-10-30
- 拜读一个开源框架,最想学到的就是设计的思想和实现的技巧。废话不多说,jquery这么多年了分析都写烂了,老早以前就拜读过,不过这几年都是做移动端,一直御用zepto, 最近抽出点时间把jquery又给扫一遍我也不会照本宣科的翻译...2014-05-31
- Vue.js通过简洁的API提供高效的数据绑定和灵活的组件系统.这篇文章主要介绍了vue.js 表格分页ajax 异步加载数据的相关资料,需要的朋友可以参考下...2016-10-20
Springboot如何使用mybatis实现拦截SQL分页
这篇文章主要介绍了Springboot使用mybatis实现拦截SQL分页,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-19- 在php中要实现分页比起asp中要简单很多了,我们核心就是直接获取当前页面然后判断每页多少再到数据库中利用limit就可以实现分页查询了,下面我来详细介绍分页类实现程序...2016-11-25
- 本文实例讲述了jquery实现的伪分页效果代码。分享给大家供大家参考,具体如下:这里介绍的jquery伪分页效果,在火狐下表现完美,IE全系列下有些问题,引入了jQuery1.7.2插件,代码里有丰富的注释,相信对学习jQuery有不小的帮助,期...2015-10-30
- 这篇文章主要介绍了基于jquery实现表格无刷新分页,功能实现了前端排序功能,增加了前端搜索功能,感兴趣的小伙伴们可以参考一下...2016-01-08
- 这篇文章主要为大家详细介绍了AngularJS实现分页显示数据库信息效果的相关资料,感兴趣的小伙伴们可以参考一下...2016-07-06
- 这篇文章主要为大家详细介绍了vue实现页面打印自动分页的两种方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-29
- 源码的重要性相信不用再多说什么了吧,特别是用Vue 框架的,一般在面试的时候面试官多多少少都会考察源码层面的内容,下面这篇文章主要给大家介绍了关于vue3源码剖析之简单实现的相关资料,需要的朋友可以参考下...2021-09-07
- Underscore 是一个 JavaScript 工具库,它提供了一整套函数式编程的实用功能,但是没有扩展任何 JavaScript 内置对象。这篇文章主要介绍了underscore源码分析相关知识,感兴趣的朋友一起学习吧...2016-01-02
- 有时候我们从数据库获取的数据量太大,而我们不需要一次性显示那么多的时候,我们就要对数据进行分页处理了,让每页显示不同的数据。...2020-06-25
- 这篇文章主要为大家详细介绍了原生js实现分页效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-09-24
- 最近,在做测试开发平台的时候,需要对测试用例的列表进行后端分页,在实际去写代码和测试的过程中,发现这里面还是有些细节的,故想复盘一下...2021-09-29
- 这篇文章主要为大家详细介绍了vue.js表格分页示例,ajax异步加载数据...2016-10-20
- 这篇文章主要为大家详细分享了laypage分页控件使用实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-05-20
- ireport默认都是自动分页数据超出页面长度就会自动分到下一页,但有时候业务需要一页只显示固定几行这时候就需要自定义条数了。下面看具体操作吧...2021-10-26