关于PHP的分页代码

 更新时间:2016年11月25日 17:36  点击:1518
读取数据记录的分页代码
<?php
if(!$whichpage)

$notepage=1;
}
else
{
$notepage=$whichpage;
}
$noterecs=0;
$pagesize=10;
$bbsconn=mysql_connect("localhost","root");
mysql_select_db("rainwindy",$bbsconn);
$bbsresult=mysql_query("select * from bbs order by id desc",$bbsconn);
$rsnum=mysql_num_rows($bbsresult);
$pagecount=ceil($rsnum/$pagesize);
mysql_data_seek($bbsresult,($notepage-1)*10);
?>
<div align=right>
<table border="0" width="730" cellspacing="0" cellpadding="0">
      <tr>
      <td width="41" height="30" bgcolor="#C0C0C0" bordercolor="#0000FF" valign="middle" align="center">编号</td>
      <td width="100" height="30" bordercolor="#0000FF" bgcolor="#C0C0C0" valign="middle" align="center">用户名</td>
      <td width="100" height="30" bordercolor="#0000FF" bgcolor="#C0C0C0" valign="middle" align="center">发表人</td>
      <td width="311" height="30" bordercolor="#0000FF" bgcolor="#C0C0C0" valign="middle" align="center">文章标题</td>
      <td width="239" height="30" bordercolor="#0000FF" bgcolor="#C0C0C0" valign="middle" align="center">发表时间</td>
     </tr>
<?php
while(($bbsrow=mysql_fetch_array($bbsresult)) && ($noterecs<=9))
{
?>
<tr>
      <td width="41" height="30" bgcolor="#FFFFCC" valign="middle" align="center"><?php echo $bbsrow["id"] ?></td>
      <td width="100" height="30" bgcolor="#FFFFCC" valign="middle" align="center"><?php echo $bbsrow["usr"] ?></td>
      <td width="100" height="30" bgcolor="#FFFFCC" valign="middle" align="center"><?php echo $bbsrow["name"] ?></td>
用PHP控制用户的浏览器--ob*函数的使用
  Output Control 函数可以让你自由控制脚本中数据的输出。它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况。输出控制函数不对使用 header() 或 setcookie(), 发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用。
  我们先举一个简单的例子,让大家对Output Control有一个大致的印象:
Example 1.
<?php
ob_start(); //打开缓冲区
echo "Hellon"; //输出
header("location:index.php"); //把浏览器重定向到index.php
ob_end_flush();//输出全部内容到浏览器
?>
所有对header()函数有了解的人都知道,这个函数会发送一段文件头给浏览器,但是如果在使用这个函数之前已经有了任何输出(包括空输出,比如空格,回车和换行)就会提示出错。如果我们去掉第一行的ob_start(),再执行此程序,我们会发现得到了一条错误提示:“Header had all ready send by”!但是加上ob_start,就不会提示出错,原因是当打开了缓冲区,echo后面的字符不会输出到浏览器,而是保留在服务器,直到你使用 flush或者ob_end_flush才会输出,所以并不会有任何文件头输出的错误!
一、 相关函数简介
1、Flush:刷新缓冲区的内容,输出。
函数格式:flush()
说明:这个函数经常使用,效率很高。
2、ob_start :打开输出缓冲区
函数格式:void ob_start(void)
说明:当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。为了输出缓冲区的内容,可以使用ob_end_flush()或flush()输出缓冲区的内容。
3 、ob_get_contents :返回内部缓冲区的内容。
使用方法:string ob_get_contents(void)
说明:这个函数会返回当前缓冲区中的内容,如果输出缓冲区没有激活,则返回 FALSE 。
4、ob_get_length:返回内部缓冲区的长度。
使用方法:int ob_get_length(void)
说明:这个函数会返回当前缓冲区中的长度;和ob_get_contents一样,如果输出缓冲区没有激活。则返回 FALSE。
5、ob_end_flush :发送内部缓冲区的内容到浏览器,并且关闭输出缓冲区。
使用方法:void ob_end_flush(void)
说明:这个函数发送输出缓冲区的内容(如果有的话)。
6、ob_end_clean:删除内部缓冲区的内容,并且关闭内部缓冲区
使用方法:void ob_end_clean(void)
网上有很多JavaScript编写的日历,这种日历读取的是本地的时间,可能会不准确。所以想找一个用php编写的,能读取服务器时间的日历,但是一直都找不到合适的,于是我自己尝试着写了一个。
代码
<?php
$mnow=(isset($HTTP_GET_VARS['month']) && intval($HTTP_GET_VARS['month'])>0 && intval($HTTP_GET_VARS['month'])<13)?intval($HTTP_GET_VARS['month']):date("m");
$ynow=(isset($HTTP_GET_VARS['year']) && intval($HTTP_GET_VARS['year'])>1969 && intval($HTTP_GET_VARS['year'])<2038)?intval($HTTP_GET_VARS['year']):date("Y");
$mtime=mktime(0,0,0,$mnow,date("d"),$ynow);
$f=date("w",mktime(0,0,0,$mnow,1,$ynow))-1;
echo "<table id="calendar" border="0" cellpadding="2" cellspacing="1">";
echo "<tr><td colspan="4" align="center" class="calendartitle"><a href="?".($mnow!=date("m")?"month=".intval($mnow)."&":"")."year=".(intval($ynow)==1970?"1970":intval($ynow)-1)."">&lt;</a>".$ynow."<a href="?".($mnow!=date("m")?"month=".intval($mnow)."&":"")."year=".(intval($ynow)==2037?"2037":intval($ynow)+1)."">&gt;</a></td><td colspan="3" align="center" class="calendartitle"><a href="?month=".(intval($mnow)==1?"12":intval($mnow)-1).($ynow!=date("Y")?"&year=".intval($ynow):"")."">&lt;</a>".date("M",$mtime)."<a href="?month=".(intval($mnow)==12?"1":intval($mnow)+1).($ynow!=date("Y")?"&year=".intval($ynow):"")."">&gt;</a></td></tr>";
echo "<tr><td class="calendartop">S</td><td class="calendartop">M</td><td class="calendartop">T</td><td class="calendartop">W</td><td class="calendartop">T</td><td class="calendartop">F</td><td class="calendartop">S</td></tr>";
for($i=0;$i<date("t",$mtime)+$f+1;$i++){
if($i%7==0)echo "<tr>";
echo "<td".(($i-$f==intval(date("d")) && $mnow==date("m") && $ynow==date("Y"))?" id="calendartoday"":"").(($i%7==0 || $i%7==6)?" class="calendarw"":"").">";
if($i>$f)echo $i-$f;
echo "</td>";
if($i%7==6)echo "</tr>";
}
if($i%7<6 && $i%7>0)echo "<td colspan="".(7-$i%7).""></td></tr>";
if($i%7==6)echo "<td></td></tr>";
echo "</table>";
?>

目前 PHP5 发布了第三个候选版本,估计正式版本不久就快释放了。安装过程应该不会有所变化,下面文章内容将讲述 Windows2000/XP/2003(不建议在 windows 98 下建立 PHP 环境) 下 PHP 环境的配置,服务器选择 Apache 2.0.49,数据库选择 MySQL 4.0.20 版本。
需要下载几个软件包:
  1. PHP5 RC3
  2. Apache 2.0.49
  3. MySQL 4.0.20
下载软件包
1. PHP5 RC3
PHP 的下载地址为: http://www.php.net/downloads.php ,找到如下图位置,下载方框中的两个软件包。其中 PHP 5.0.0RC3 zip package 就是 PHP5 软件包,而 Collection of PECL modules for PHP 5.0.0RC3 则是 PHP5 的 PECL 扩展模块集合包。
 下载完成后放于 C 盘备用。
2. Apache 2.0.49
Apache官方下载地址为: http://httpd.apache.org/download.cgi ,找到如下图位置,下载 For Windows 的 MSI 安装包,保存于 C 盘备用。
3. MySQL 4.0.20
 MySQL 官方下载地址为: http://dev.mysql.com/downloads/mysql/4.0.html ,找到 Windows downloads 部分,下载 Without installer 包并保存于 C 盘,如下图所示:

安装 PHP5
  假设你的系统安装于 C 盘,否则下列目录均须改成相应的盘的目录。
  将下载来的 PHP5 RC3(php-5.0.0RC3-Win32.zip) 解压缩到 C:PHP5 目录下。将 PECL 扩展模块集合包里的所有文件解压缩到 C:PHP5ext 目录下。
  复制 C:PHP5 目录下的 php5ts.dll 文件到 C:windows(如果是 windows 2000 操作系统,则为 C:WINNT 目录,下同,不再重复说明) 目录下。
  复制 C:PHP5 目录下的下列 dll 文件于 C:windowssystem32 目录下:
fdftk.dll
fribidi.dll
gds32.dll
libeay32.dll
libintl-1.dll
libmhash.dll
libmysql.dll
libmysqli.dll
ntwdblib.dll
ntwdblib.dll
yaz.dll

其中 libmysql.dll 为 MySQL 4.1 之前版本的扩展支持,libmysqli.dll 为 MySQL 4.1 之后版本的扩展支持。因为我上面下载的是 MySQL 4.0.20 ,所以其实复制 libmysql.dll 即可。
  复制 C:PHP5 目录下的 php.ini-dist 文件到 C:windows 目录下,并改名为 php.ini ,并用记事本打开编辑:
  定位到下面两行:
; Directory in which the loadable extensions (modules) reside.
extension_dir = "./"
1. PHP-GTK介绍
1.1 PHP-GTK
PHP-GTK是PHP的延伸模组,它可以让程式设计师写出在客户端执行的、且独立的GUI的程式。这个模组不允许在浏览器上显视GTK+的程式,它一开始就是开发来写独立的GUI程式的。
1.2 GTK
GTK原本是为GIMP,一个GUI的影像处理软体而开发的。GTK+是GIMP的套装工具。GTK+从这里开始发展,直到现在已经成为Gnome的中心(Gnome是一个桌面环境)。後来GTK+也已经被推广到BeOS和Win32,使得它成为PHP延伸模组的最佳选择,维持PHP可以跨平台并可以用PHP为Linux,BeOS,Windows等平台开发视窗介面的程式。
2. PHP-GTK概念
2.1 前言
接下来就要教各位一点点比较观念性的东西罗┅因为这章的概念都是非常重要的,所以就算不懂,也还是要慢慢的看懂它,不然┅以後就┅。还有,接下来的内容不建议没有程式设计经验的读者阅读,因为有很多的观念很容易会搞不清楚。还有,接下来该用英文的部分我都会用英文,这样大家在看国外文件的时候才不会不知所措,加油吧!!如果对本章有任何不懂之处,请自行查阅
PHP-GTK Manual:http://gtk.php.net/manual/en/
2.2 Widget(s)
Widget是一个GUI程式中基本的functions和forms。最常用的几个Widget是:label、button、window、frame和text box。所有的widget都是来自於一个抽象的基本class─GtkWidget。每个widget都是一个class
一个Widget一生大概都有五个时期:
1. 建立(Creation):宣告一个物件(declaring an object)
2. 放置(Placement):将它加入一个容器中(adding it to a container)
3. 信号连接(Signal Connection):接收信号以及进行动作(the action it will perform)
4. 显示(Display):它是否是可见的(whether it is viewable or not)
5. 删除(Destruction):关闭程式(closing of a program)
2.3 Container(s)
Container是一个可以包含其他widget的widget。大部分的widget都是container,例如:GtkWindow、GtkTable和GtkBox。除了这点之外,container跟其他的widget没两样,也可以被放到其他container去。而所有的container都是来自於一个class─GtkContainer,本身来自於GtkWidget的class。所以container也是widget的一种。
2.4 Signal(s)
当程式设计师在程式中做了一个动作时,程式需要有一个动作来回应使用者的动作。Signals使程式可以知道使用者做了动作并可以触发适合的回应。
例如,当使用者按了一个可以开新视窗的按钮(GtkButton),程式认出这个请求,於是就开了一个新的视窗。这件事可以经由signal来做到。当按钮按下去之後,会使widget发出一个signal,接着再由该signal触发callbacks,产生一个新的视窗(GtkWindow)。
[!--infotagslink--]

相关文章

  • php KindEditor文章内分页的实例方法

    我们这里介绍php与KindEditor编辑器使用时如何利用KindEditor编辑器的分页功能实现文章内容分页,KindEditor编辑器在我们点击分页时会插入代码,我们只要以它为分切符,就...2016-11-25
  • 自己动手写的jquery分页控件(非常简单实用)

    最近接了一个项目,其中有需求要用到jquery分页控件,上网也找到了需要分页控件,各种写法各种用法,都是很复杂,最终决定自己动手写一个jquery分页控件,全当是练练手了。写的不好,还请见谅,本分页控件在chrome测试过,其他的兼容性...2015-10-30
  • 源码分析系列之json_encode()如何转化一个对象

    这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
  • 不打开网页直接查看网站的源代码

      有一种方法,可以不打开网站而直接查看到这个网站的源代码..   这样可以有效地防止误入恶意网站...   在浏览器地址栏输入:   view-source:http://...2016-09-20
  • php中去除文字内容中所有html代码

    PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
  • php 调用goolge地图代码

    <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
  • JS基于Mootools实现的个性菜单效果代码

    本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
  • JS+CSS实现分类动态选择及移动功能效果代码

    本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
  • JS实现自定义简单网页软键盘效果代码

    本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
  • jquery实现的伪分页效果代码

    本文实例讲述了jquery实现的伪分页效果代码。分享给大家供大家参考,具体如下:这里介绍的jquery伪分页效果,在火狐下表现完美,IE全系列下有些问题,引入了jQuery1.7.2插件,代码里有丰富的注释,相信对学习jQuery有不小的帮助,期...2015-10-30
  • php 取除连续空格与换行代码

    php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
  • php简单用户登陆程序代码

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • PHP实现清除wordpress里恶意代码

    公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
  • js识别uc浏览器的代码

    其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
  • JS实现双击屏幕滚动效果代码

    本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
  • index.php怎么打开?如何打开index.php?

    index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06
  • JS日期加减,日期运算代码

    一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08
  • PHP开发微信支付的代码分享

    微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布。必须到你通过程序测试提交订单、发货通知等数据到微信的系统中,才能申请发布。然后,因为在微信中是通过JS方式调用API,必须在微信后台设置支付授权目录,而且要到...2014-05-31
  • vue.js 表格分页ajax 异步加载数据

    Vue.js通过简洁的API提供高效的数据绑定和灵活的组件系统.这篇文章主要介绍了vue.js 表格分页ajax 异步加载数据的相关资料,需要的朋友可以参考下...2016-10-20
  • PHP常用的小程序代码段

    本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24