首页 > 编程技术 > php

php入门级别的分页函数

发布时间:2016-11-25 15:53

这是一款简单实用的php分页代码,如果你是php初学者来看看这款实用的分页代码吧。
 代码如下 复制代码

function page($sql,$pagesize=10,$class=""){
 
 if(!is_string($sql)){ return 0;exit;}
 $result=mysql教程_query($sql);
 if(!$result){return 0;exit;}
 if(!$recordnum=mysql_num_rows($result)){return 0;exit;}
 $totalpage=ceil($recordnum/$pagesize);
 $page=(int)$_get['page'];
 if($page<=1) $page=1;
 if($page>=$totalpage) $page=$totalpage;
 $recordno=($page-1)*$pagesize;
 $sql.=" limit $recordno,$pagesize";
 $result=mysql_query($sql);
 $url=$_server["php_self"];

 if($page==1)$str= "首页|上页";
 else $str.="<a href="$url?".$class."&page=1">首页</a>|<a href="$url?".$class."&page=".($page-1)."">上页</a>";
 if($page==$totalpage) $str.=  "|下页|末页";
 else  $str.="|<a href="$url?".$class."&page=".($page+1)."">下页</a>|<a href="$url?".$class."&page=$totalpage ">末页</a>";
 $str.=" 当前第 $page 页 共 $totalpage 页";
 return array($result,$str);
}
//调用方法

$sql="select * from images order by imid";
$result=page($sql,16);

/*
简单的原是就是根据传过来的传到数据库教程中去读取相对应多的记录,这样就实现的分页。
*/

这是一款使用方便简单的php文件上传函数,只你要设置三个参数就可以方便的把你指定的文件类型上传批指定的目录了。
 代码如下 复制代码

function upfile($filename,$type,$path)
{

 $tempfile=$_files[$filename];//接收上传的临时文件

 //有没有上传成功
 if($error=$tempfile["error"])
 {
  switch($error){
   case 1:$errorstr="上传的文件超过了2m请返回检查。";break;
   case 2:$errorstr="上传文件的大小超过了 html 表单中限定值8m";break;
   case 3:$errorstr="文件只有部分被上传";break;
   case 4:$errorstr="没有文件被上传";break;
   case 6:$errorstr="找不到临时文件夹";break;
   case 7:$errorstr="文件写入失败";break;
  }
  showmsg($errorstr);
 }

 //文件类型是否在允许的范围内
 $filename=$tempfile["name"];//取上传原文件名
 $tmparr=explode(".",$filename);
 $extname=strtolower($tmparr[count($tmparr)-1]);//取出原扩展名并转为小写字母
 if(!in_array($extname,$type)) showmsg("上传的文件类型不允许,请返回检查.");

 //改文件名
 $newfile="zy".time().rand(100,1000).".".$extname;//构成新的文件名

 //路径
 $path.=$newfile;

 //重名判断
 if(file_exists($path)){
  $newfile="zy".time().rand(100,1000).".".$extname;//构成新的文件名
  $path.=$newfile;
 }

 if(!move_uploaded_file($tempfile['tmp_name'],$path))showmsg("文件移动失败。");

 return $newfile;
}

//些上传函数调用方法

 代码如下 复制代码
upfile($filename,$type,$path);
/*
参数:
$filename  为上传表单 type=file的名称
$type 允许上传的文件类型
$path 保存到文件路径


*/

下面这三款php 数组 写入文件的代码,有二种是把数组以php格式保存,这样可以以php来运行此文件,还有一个是写缓存文件了,
 代码如下 复制代码
$str = "<?php $list = " . var_export($list) . "; ?>";
//写入temp.inc.php $file = 'temp.inc.php'; $fo = fopen($file, 'w'); fwrite($fl, $str); fclose($fo);

 

 代码如下 复制代码
function arrayeval($array, $level = 0) { $space = " "; for($i = 0; $i <= $level; $i++) { $space .= " "; } $evaluate = "array $space( "; $comma = "$space"; if(!empty($array)){ foreach($array as $key => $val) { $val = empty($val)?' ':$val; $key = is_string($key) ? "'".addcslashes($key, ''\')."'" : $key; $val = is_string($val) ? "'".addcslashes($val, ''\')."'" : $val; if(is_array($val)) { $evaluate .= "$comma$key => ".arrayeval($val, $level + 1); } else { $evaluate .= "$comma$key => $val"; } $comma = ", $space"; } } $evaluate .= " $space)"; return $evaluate; }

 
$file="./www.111cn.net/file.cache";  
 
$array = array("count" => "3000",  "num"  =>"300"); 
 
//缓存  
 

 代码如下 复制代码
file_put_contents($file,serialize($array));//写入缓存 
$handle = fopen($file, "r"); 
$cachearray = unserialize(fread($handle, filesize ($file))); 
print_r($cachearray); 
这里在supesite表中一个主表,supe_spaceitems与supe_attachments附件表,我们通过left jon查找 出有图片附件的记录出来。
 代码如下 复制代码

mysql教程_connect('localhost','root','root');
mysql_select_db('abc');
mysql_query("set names 'gbk'");

$sql = "select a.itemid,a.lastpost,a.city,b.thumbpath from supe_spaceitems  a left join supe_attachments  b on a.itemid = b.itemid where a.picid>0 order by a.itemid desc limit 0,3";
 
 $query  = mysql_query( $sql );
 while( $k = mysql_fetch_array( $query ) )
 {
  $str .= "<a href='/a/'".date("ymd",$k['lastpost']).'/v-'.$k['itemid'].".html><img" width=100% src=".$url.'/attachments/'.$k['thumbpath']." /></a>";
 } 

 echo $str;

这是一款php分页程序,一款数字分页代码,很像搜索引擎baidu的分页效果哦,有需要做这类分页的朋友可进入参考。
 代码如下 复制代码

$conn=mysql教程_connect("localhost","root","");
$db=mysql_select_db("gan");
 mysql_query("set names 'gbk'");
?>
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.111cn.net/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
<?php

$url=$_server['request_uri'];
$url=parse_url($url);
$url=$url[path];
$sql="select * from liuyan";
$query=mysql_query($sql);
$num=mysql_num_rows($query);        //总共数据条数
$pagesize=3;                       //设置每页显示条数
$pages=intval($num/$pagesize);     //求出大约页数
if($num%$pagesize){
 $pages++;                      //求具体页数
}

$page=1;                          //初始页数为1

if($_get[page]){
 $page=$_get[page];
}
$fistpage=1;                      //第一页
$prepage=$page-1;                 //上一页
$lastpage=$pages;                 //最后一页
$nextpage=$page+1;                //下一页
$n=1;                             //网页第一页
$pack=1;
$perpage=intval($pages/5);                //求出大约的网页数
if($pages%5){
 $perpage++;
}
if($page>1){
 echo "<a href=$url?page=$fistpage>第一页</a>";
 echo "<a href=$url?page=$prepage>上一页</a>";
}
if($page-$pack>=5){
    $n++;
    $pack+=5;
    for($i=($n*5-4);$i<$page;$i++){         //当前页以前的页
        echo "<a href=$url?page=$i> $i </a>";
    }
    echo $i;                               //显示当前页
  if($n<$perpage){
     for($i=$i+1;$i<=$n*5;$i++)            //当前页以后的页
     echo "<a href=$url?page=$i> $i </a>";
    }else{
     for($i=$i+1;$i<=$pages;$i++)            //当前页以后的页
     echo "<a href=$url?page=$i> $i </a>";
    }

}
else{
  for($i=($n*5-4);$i<$page;$i++)         //当前页以前的页
     echo "<a href=$url?page=$i> $i </a>";
    echo $i;                                 //显示当前页
    if($n<$perpage){
     for($i=$i+1;$i<=$n*5;$i++)            //当前页以后的页
     echo "<a href=$url?page=$i> $i </a>";
    }else{
     for($i=$i+1;$i<=$pages;$i++)            //当前页以后的页
     echo "<a href=$url?page=$i> $i </a>";
    }

 

}
if($page<$pages){

 echo "<a href=$url?page=$nextpage>下一页</a>";
 echo "<a href=$url?page=$lastpage>最后一页</a>";
}
$offnum=($page-1)*$pagesize;
$fsql="select * from liuyan limit $offnum,$pagesize";
$query=mysql_query($fsql);
while($row=mysql_fetch_array($query)){

 echo "<br>".$row[user]."|".$row[content];
}
?>
</body>
</html>

标签:[!--infotagslink--]

您可能感兴趣的文章: