长文章分页代码

 更新时间:2016年11月25日 16:05  点击:2273
<?
$pieces = explode("<HR>", $news['content']);//以<HR>水平线分隔
$page=count($pieces);
if(empty($move)){$move=0;}else{$move=$move;}
echo $pieces[$move]."<br><br>";
if($page>1)
{
echo "<a href=$PHP_SELF?id=$id&move=0><FONT face=webdings>9</FONT></a> ";
$up=$move-1;
if($move>0){echo "<a href=$PHP_SELF?id=$id&move=$up><font face=webdings>7</font></a> ";}
$x=$move+1;
for ($i=1,$jump=$i-1;$i<= $move;$i++,$jump++)
echo "<a href=$PHP_SELF?id=".$id."&move=".$jump."><B>".$i ."</B></a> ";
echo "<span class=red1><B>".$x."</B></span> ";
for ($i=$move+2,$jump=$i-1;$i<=$page;$i++,$jump++)
echo "<a href=$PHP_SELF?id=".$id."&move=".$jump."><B>".$i ."</B></a> ";
$down=$move+1;
if($page>0&&$down<$page){echo "<a href=$PHP_SELF?id=$id&move=$down><FONT face=webdings>8</FONT></a> ";}
$end=$page-1;
echo "<a href=$PHP_SELF?id=$id&move=$end><FONT face=webdings>:</FONT></a> ";
$curent=$move+1;
?>

php读取execel文档

<?php
$path = realpath("Book1.xls");
//创建ADO对象
$ado = new COM("ADODB.Connection") or die("ADO Init Failt");
$ado -> Open("DRIVER={Microsoft Excel Driver (*.xls)};dbq=".$path);
//选择工作表请用:[表名称$]
$sql="select * from [user$]";
$rs=$ado->Execute($sql);
?>
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
  <tr>
    <td align="center">ID</td>
    <td align="center">UNM</td>
 
    <td align="center">EMAIL</td>
    <td align="center">QQ</td>
  <td height="25" align="center">Phone</td>
    <td align="center">Other</td>
  </tr>
  <?php
 while(!$rs->eof())
{
  ?>
  <tr>
    <td align="center" bgcolor="#FFFFFF"><?=$rs["ID"]?></td>
    <td align="center" bgcolor="#FFFFFF"><?=$rs["unm"]?></td>
 
    <td align="center" bgcolor="#FFFFFF"><?=$rs["email"]?></td>
    <td align="center" bgcolor="#FFFFFF"><?=$rs["qq"]?></td>
  <td height="25" align="center" bgcolor="#FFFFFF"><?=$rs["phone"]?></td>
    <td align="center" bgcolor="#FFFFFF"><?=$rs["other"]?></td>
  </tr>
  <?php
  $rs->movenext;
  }
  ?>
</table>

php读取二维数组,今天在写一个多文件上传时发现的问题了.我们现举个例子说明一下吧,请看下面的题目.

$a1 =array('a1','a2','a3');
$b2 =array('b1','b2','b3');
$b =array($a1,$b2);

for($i=0;$i<sizeof($b);$i++){
 for($j=0;$j<sizeof($b[$i]);$j++){
  echo $b[$i][$j],'<br>';//print_r($b[$i]); // $b[$j];
 }
}

这里用到了for语句其它也可以用foreach来实现了,原理都差不多了.

原创:   www.111cn.net

php经典分页类

<?php
class db
{
public $conn,$db,$table,$user,$host,$unm,$pwd;
public $res;
public $char;
public $linkType;
function __construct($linkType=false,$char="gb2312")
{
  $this->linkType=$linkType;//设定连接类型
  $this->char=$char;//设定连接校对字符
  $this->db=DB;
  $this->user=USER;
  $this->host=HOST;
  $this->unm=UNM;
  $this->pwd=PWD;
  if($this->linkType)
  {
   $this->conn=mysql_pconnect($this->host,$this->unm,$this->pwd) or die("Database connection failure");
  }
  else
  {
   $this->conn=mysql_connect($this->host,$this->unm,$this->pwd) or die("Database connection failure");
  }
  mysql_select_db($this->db);
  mysql_query("set names ".$this->char); 
}
function query($sql,$type="true")
{
  //$type:默认的操作。 指代select操作
  $this->res=mysql_query($sql) or die("SQL Statement error !Please check it again");
  $row=$type?mysql_num_rows($this->res):mysql_affected_rows();
  $result["res"]=$this->res;
  $result["row"]=$row;
  return $result;
}
//fetch()方法:获取所有的记录,并写入数组
function fetch($sql)
{
  $res=self::query($sql);
  while ($rs=mysql_fetch_array($res["res"]))
   {
   $result[]=$rs;
  }
  return $result;
}
//获取下一条记录
function fetchNext($filed,$currenID,$table)
{
  $sql="select * from $table where $filed>$currenID limit 0,1 ";
  return self::fetch($sql);
}
//获取前一条记录
function fetchPre($filed,$currenID,$table)
{
  $sql="select * from $table where $filed<$currenID limit 0,1 ";
  return self::fetch($sql);
}
}
class page extends db
{
public $currentPage,$totalRecord,$totalPage,$pageSize;
public $start;
public $flag;
public $sql;
function __construct($sql,$pagesize=5,$flag="page")
{
  $this->sql=$sql;
  $this->pageSize=$pagesize;
  $this->flag=$flag;//设定翻页链接标识符
  $row=parent::query($sql);
  $this->totalRecord=$row["row"];
  $this->totalPage=ceil($this->totalRecord/$this->pageSize);
  $page=$_REQUEST[$this->flag];
  if($page<0||$page=="")
  {
   $this->currentPage=1;
  }
  else
  {
   $page>$this->totalPage?$this->currentPage=$this->totalPage:$this->currentPage=$page; 
  }
  $this->start=($this->currentPage-1)*$this->pageSize; 
}
//显示分页列表
function show($page=10)
{
  $str.='<div class="pages_btns"><div class="pages">';
  $str.="<em> ".$this->totalRecord." </em>";
  $pre=$this->currentPage-1;
  if($pre!=0)
  {
   $str.='<a href=?'.$this->flag.'='.$pre.' class=next><<</a>';
  }
  if($this->currentPage>=$page)
  {
   if($this->totalPage-$this->currentPage<10)
   {
    $start=$this->currentPage-($this->currentPage%10);
    $end=$this->totalPage;
   }
   else
   {
    $start=$this->currentPage-2;
    $end=$start+$page-1;
   }
  }
  else
  {
   $start=1;
   $end=10;
  }
  for ($i=$start;$i<=$end;$i++)
  {
  
   if($i==$this->currentPage)
   {
    $str.="<strong>".$i."</strong>";
   }
   else
   {
    $str.="<a href=?".$this->flag."=$i>$i</a>";
   }
  }
  $next=$this->currentPage+1;
  $str.='<a href=?'.$this->flag.'='.$next.' class=next>>></a>';
  $str.="<a href=?".$this->flag."=".$this->totalPage." class=last>...".$this->totalPage."</a>";
  $str.="<kbd><input type='text' name='custompage' size='3' onkeydown=\"if(event.keyCode==13) {window.location='{$_SERVER['PHP_SELF']}?{$this->flag}='+this.value; return false;}\" /></kbd>";
  $str.="</div></div>";
  return $str;
}
}
?>
<?php
define("HOST","localhost");
define("UNM","root");
define("PWD","root");
define("DB","test");
require_once('db.class.php');
$db=new db();
$sql="select * from yy";
  $page=new page($sql,10);
  $sql.=" limit $page->start,$page->pageSize";
$rs = $db->fetch($sql);
?>
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#FF0000">
  <tr>
    <td height="25" bgcolor="#FFFFFF">ID</td>
    <td bgcolor="#FFFFFF">UNM</td>
  </tr>
  <?php
  for($i=0;$i<count($rs);$i++)
  {
  ?>
  <tr>
    <td height="25" bgcolor="#FFFFFF"><?=$rs[$i][0]?></td>
    <td bgcolor="#FFFFFF"><?=$rs[$i][1]?></td>
  </tr>
  <?php
  }
  ?>
  <tr>
    <td height="25" colspan="2" bgcolor="#FFFFFF"><?=$page->show()?></td>
  </tr>
</table>

ip地址查询,ip查询,ip所在地查询

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>ip归属地</title>

</head>
<body>
<h1>站长爱好者网IP地址查询</h1>
<form id="form1" name="form1" method="post" action="">
  <input type="text" name="ipinfo" id="ipinfo" style="border:solid 1px #fdbdd5" />
  <input type="submit" name="button" id="button" value="查询" style="border:solid 1px #fdbdd5;width:50px" />
</form>
<?php
include("ipcheck.class.php");
$ipinfo=$_POST['ipinfo'];
$iptest=new IpLocation();
echo $iptest->getlocation($ipinfo);
?>
</body>
</html>
好现在来看看ipcheck.class.php文件.

<?php
/**
* @author 网事如风
* E-mail:rainrenamy@gmail.com
* 个人网址:http://www.adminfan.com
* 演示地址:http;//www.adminfan.com/seo/ip.php
*/
class IpLocation {
/**
* QQWry.Dat文件指针
* @var resource
*/
var $fp;
/**
* 第一条IP记录的偏移地址
*
* @var int
*/
var $firstip;
/**
* 最后一条IP记录的偏移地址
*
* @var int
*/

var $lastip;

/**
* IP记录的总条数(不包含版本信息记录)
*
* @var int
*/

var $totalip;

/**
* 返回读取的长整型数
*
* @access private
* @return int
*/

function getlong() {

//将读取的little-endian编码的4个字节转化为长整型数

$result = unpack('Vlong', fread($this->fp, 4));

return $result['long'];

}

/**
* 返回读取的3个字节的长整型数
*
* @access private
* @return int
*/

function getlong3() {

//将读取的little-endian编码的3个字节转化为长整型数

$result = unpack('Vlong', fread($this->fp, 3).chr(0));

return $result['long'];

}

/**
* 返回压缩后可进行比较的IP地址
*
* @access private
* @param string $ip
* @return string
*/

function packip($ip) {

// 将IP地址转化为长整型数,如果在PHP5中,IP地址错误,则返回False,

// 这时intval将Flase转化为整数-1,之后压缩成big-endian编码的字符串

return pack('N', intval(ip2long($ip)));

}

/**
* 返回读取的字符串
*
* @access private
* @param string $data
* @return string
*/

function getstring($data = "") {

$char = fread($this->fp, 1);

while (ord($char) > 0) { // 字符串按照C格式保存,以\0结束

$data .= $char; // 将读取的字符连接到给定字符串之后

$char = fread($this->fp, 1);

}

return $data;

}

/**
* 返回地区信息
*
* @access private
* @return string
*/

function getarea() {

$byte = fread($this->fp, 1); // 标志字节

switch (ord($byte)) {

case 0: // 没有区域信息

$area = "";

break;

case 1:

case 2: // 标志字节为1或2,表示区域信息被重定向

fseek($this->fp, $this->getlong3());

$area = $this->getstring();

break;

default: // 否则,表示区域信息没有被重定向

$area = $this->getstring($byte);

break;

}

return $area;

}

/**
* 根据所给 IP 地址或域名返回所在地区信息
*
* @access public
* @param string $ip
* @return array
*/

function getlocation($ip) {

if (!$this->fp) return null; // 如果数据文件没有被正确打开,则直接返回空

$location['ip'] = gethostbyname($ip); // 将输入的域名转化为IP地址
$ip = $this->packip($location['ip']); // 将输入的IP地址转化为可比较的IP地址
// 不合法的IP地址会被转化为255.255.255.255
// 对分搜索
$l = 0; // 搜索的下边界
$u = $this->totalip; // 搜索的上边界
$findip = $this->lastip; // 如果没有找到就返回最后一条IP记录(QQWry.Dat的版本信息)
while ($l <= $u) { // 当上边界小于下边界时,查找失败

$i = floor(($l + $u) / 2); // 计算近似中间记录

fseek($this->fp, $this->firstip + $i * 7);

$beginip = strrev(fread($this->fp, 4)); // 获取中间记录的开始IP地址

// strrev函数在这里的作用是将little-endian的压缩IP地址转化为big-endian的格式

// 以便用于比较,后面相同。

if ($ip < $beginip) { // 用户的IP小于中间记录的开始IP地址时

$u = $i - 1; // 将搜索的上边界修改为中间记录减一

}

else {

fseek($this->fp, $this->getlong3());

$endip = strrev(fread($this->fp, 4)); // 获取中间记录的结束IP地址

if ($ip > $endip) { // 用户的IP大于中间记录的结束IP地址时

$l = $i + 1; // 将搜索的下边界修改为中间记录加一

}

else { // 用户的IP在中间记录的IP范围内时

$findip = $this->firstip + $i * 7;
break; // 则表示找到结果,退出循环

}

}

}

//获取查找到的IP地理位置信息
fseek($this->fp, $findip);
$location['beginip'] = long2ip($this->getlong()); // 用户IP所在范围的开始地址
$offset = $this->getlong3();
fseek($this->fp, $offset);
$location['endip'] = long2ip($this->getlong()); // 用户IP所在范围的结束地址
$byte = fread($this->fp, 1); // 标志字节
switch (ord($byte)) {

case 1: // 标志字节为1,表示国家和区域信息都被同时重定向

$countryOffset = $this->getlong3(); // 重定向地址

fseek($this->fp, $countryOffset);

$byte = fread($this->fp, 1); // 标志字节

switch (ord($byte)) {

case 2: // 标志字节为2,表示国家信息又被重定向

fseek($this->fp, $this->getlong3());

$location['country'] = $this->getstring();

fseek($this->fp, $countryOffset + 4);

$location['area'] = $this->getarea();

break;

default: // 否则,表示国家信息没有被重定向

$location['country'] = $this->getstring($byte);

$location['area'] = $this->getarea();

break;
}

break;

case 2: // 标志字节为2,表示国家信息被重定向

fseek($this->fp, $this->getlong3());

$location['country'] = $this->getstring();

fseek($this->fp, $offset + 8);

$location['area'] = $this->getarea();

break;

default: // 否则,表示国家信息没有被重定向

$location['country'] = $this->getstring($byte);

$location['area'] = $this->getarea();

break;

}

if ($location['country'] == " CZ88.NET") { // CZ88.NET表示没有有效信息

$location['country'] = "未知";

}

if ($location['area'] == " CZ88.NET") {

$location['area'] = "";

}

//return $location;
echo "你的IP:".$location['ip']."<br />来自".$location['country'].$location['area'];

}

/**
* 构造函数,打开 QQWry.Dat 文件并初始化类中的信息
*
* @param string $filename
* @return IpLocation
*/

function IpLocation($filename = "QQWry.Dat") {

if (($this->fp = @fopen($filename, 'rb')) !== false) {

$this->firstip = $this->getlong();

$this->lastip = $this->getlong();

$this->totalip = ($this->lastip - $this->firstip) / 7;

//注册析构函数,使其在程序执行结束时执行

register_shutdown_function(array(&$this, '_IpLocation'));

}

}

/**
* 析构函数,用于在页面执行结束后自动关闭打开的文件。
*
*/

function _IpLocation() {

fclose($this->fp);

}

}

?>

[!--infotagslink--]

相关文章

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

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

    最近接了一个项目,其中有需求要用到jquery分页控件,上网也找到了需要分页控件,各种写法各种用法,都是很复杂,最终决定自己动手写一个jquery分页控件,全当是练练手了。写的不好,还请见谅,本分页控件在chrome测试过,其他的兼容性...2015-10-30
  • 不打开网页直接查看网站的源代码

      有一种方法,可以不打开网站而直接查看到这个网站的源代码..   这样可以有效地防止误入恶意网站...   在浏览器地址栏输入:   view-source:http://...2016-09-20
  • 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
  • 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
  • php怎么用拼音 简单的php中文转拼音的实现代码

    小编分享了一段简单的php中文转拼音的实现代码,代码简单易懂,适合初学php的同学参考学习。 代码如下 复制代码 <?phpfunction Pinyin($_String...2017-07-06
  • php导出csv格式数据并将数字转换成文本的思路以及代码分享

    php导出csv格式数据实现:先定义一个字符串 存储内容,例如 $exportdata = '规则111,规则222,审222,规222,服2222,规则1,规则2,规则3,匹配字符,设置时间,有效期'."/n";然后对需要保存csv的数组进行foreach循环,例如复制代...2014-06-07
  • ecshop商品无限级分类代码

    ecshop商品无限级分类代码 function cat_options($spec_cat_id, $arr) { static $cat_options = array(); if (isset($cat_options[$spec_cat_id]))...2016-11-25