原生php分页代码,php分页功能怎么实现

发布时间:2022-11-19

本文目录一览:

  1. php分页代码
  2. 求php分页代码
  3. PHP分页代码
  4. 用php怎么实现页面的分页功能呢?用原生的php写,不是基于图片开发的,求代码,谢谢
  5. PHP分页显示最简单代码
  6. thinkphp5原生查询时,查询结果怎么分页,具体代码应该怎么写?

php分页代码

你的第一段程序:

//获取总的记录数
$sql="select count(*) as amount from username";//注意,表article一定要存在

你的第二段程序:

//显示记录
if($amount)
{
    $a=($page-1)*$page_size;$b=$page_size;
    $sql="select * from liuyan order by id desc limit $a,$b";

你发现问题了没有?表名不相同,你数据库的表名称究竟是什么呀?这两个地方应该一致哦! 拜托,你是否可以粘贴一下你的43行? 请你在下面这样的语句:

$result=mysql_query($sql);

之后添加一行:

if (!$result) echo "执行SQL语句失败,语句:<br>$sql<br>错误信息:".mysql_error();

然后再次执行程序,看屏幕上的错误信息你就知道问题出在哪里,看不处理就把这个信息粘贴上来,那个信息非常有用。 没有这个错误信息,我猜测是你的$a,$b数值可能有一个为空。

求php分页代码

////////////////////////////////分页/////////////////////////////
$pageListNum=20;//每页显示10条
$totalPage=0;//总页数
$page=isset($page)?(int)$page:1;//当前页
$start=($page-1)*$pageListNum;//起始编号
$totalPage=ceil($pageNum/$pageListNum);
require_once(WEB_CLASS.'/page_class.php');
$page=new PageClass($page,$totalPage);
$showpage=$page->showPage();
echo $showpage;
///////////////page_class.php////////////////////////
<?php
header("Content-Type:text/html;charset=utf8");
/**
* 分页类
* URL有多个参数也能分页,还能自定义分页样式
* php=5.0
* @version 0.1.1
* @copyright 2006-2010
* @package class
*/
class PageClass{
    private $url;
    private $cpage;
    private $totalPage;
    private $tpl;
    /**
    * PageClass的构造函数
    * 模板说明:{index}表示首页 {pagelist}链接列表 {option}下拉列表框 {next}下一页 {pre}上一页 {cur}当前页 {index=首页}表示首页的链接文字为首页,即=号后为链接文字,不过这对{pagelist}{option}无效
    * @param string $cpage 当前页
    * @param string $tatolPage 总页数
    * @param string $tpl 模板.
    * @param string $url 要分页的url 默认为当前页
    * @return PageClass
    */
    function __construct($cpage,$totalPage,$tpl='',$url=''){
        $this->cpage=$cpage;
        $this->totalPage=$totalPage;
        if(strlen($tpl)==0){
            $this->tpl="{cur=当前页}{index=首页} {pre=上一页} {next=下一页} {end=最后页} {option}"; //中文分页
        }else{
            $this->tpl=$tpl;
        }
        if(strlen($url)==0){
            $this->url=$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];
        }else{
            $this->url=$url;
        }
    }
    /**
    * 函数showPage,返回生成的分页HTML
    * @return string
    */
    function showPage(){
        //显示分页
        $urlOption=array();//url的后缀如:?page=1&typeid=1
        $parse_url=parse_url($this->url);
        $urlMain='http://'.$parse_url['path'];
        if($parse_url['query']){
            //url有参数
            $urlArr=split('&',$parse_url['query']);
            if(is_array($urlArr)){
                foreach($urlArr as $key=>$value){
                    $c=split('=',$value);
                    if($c[0]=='page'){
                    }else{
                        array_push($urlOption,$c[0].'='.$c[1]);
                    }
                }
            }
        }else{
            //url没有参数
            //if($this->cpage<$this->totalPage){
            // array_push($urlOption,"page=2");
            //}
        }
        if(is_array($urlOption)){
            $urlOptionStr_t=implode('&',$urlOption);
        }
        if(strlen($urlOptionStr_t)>0){
            $urlOptionStr.='&'.$urlOptionStr_t;
        }
        $tplcontent=$this->tpl;//分页模板
        $showPage=$tplcontent;
        //首页
        if (preg_match_all('/\{index=([^}]*)\}/', $tplcontent, $matches)){
            $t_tpl=$matches[0][0]; //模板内容
            $t_word=$matches[1][0]; //分页字段
            $indexStr='<a href="'.$urlMain.'?page=1'.$urlOptionStr.'">'.$t_word.'</a>';
            $showPage=str_replace($t_tpl,$indexStr,$showPage);
        }
        //当前页
        if (preg_match_all('/\{cur=([^}]*)\}/', $tplcontent, $matches)){
            $t_tpl=$matches[0][0];
            $t_word=$matches[1][0];
            $curStr=$t_word.$this->cpage.'/'.$this->totalPage;
            $showPage=str_replace($t_tpl,$curStr,$showPage);
        }
        //末页
        if (preg_match_all('/\{end=([^}]*)\}/', $tplcontent, $matches)){
            $t_tpl=$matches[0][0];
            $t_word=$matches[1][0];
            $endPage='<a href="'.$urlMain.'?page='.$this->totalPage.$urlOptionStr.'">'.$t_word.'</a>';
            $showPage=str_replace($t_tpl,$endPage,$showPage);
        }
        //上一页
        if (preg_match_all('/\{pre=([^}]*)\}/', $tplcontent, $matches)){
            $t_tpl=$matches[0][0];
            $t_word=$matches[1][0];
            if($this->cpage>1){
                $prePage='<a href="'.$urlMain.'?page='.($this->cpage-1).$urlOptionStr.'">'.$t_word.'</a>';
            }else{
                $prePage=$t_word;
            }
            $showPage=str_replace($t_tpl,$prePage,$showPage);
        }
        //下一页
        if (preg_match_all('/\{next=([^}]*)\}/',$tplcontent, $matches)){
            $t_tpl=$matches[0][0];
            $t_word=$matches[1][0];
            if($this->cpage<$this->totalPage && $this->totalPage>1){
                $nextPage='<a href="'.$urlMain.'?page='.($this->cpage+1).$urlOptionStr.'">'.$t_word.'</a>';
            }else{
                $nextPage=$t_word;
            }
            $showPage=str_replace($t_tpl,$nextPage,$showPage);
        }
        //链接列表
        if (preg_match("{pagelist}",$tplcontent)){
            for($i=1;$i<$this->totalPage+1;$i++){
                $linkPage.='<a href="'.$urlMain.'?page='.$i.$urlOptionStr.'">'.$i.'</a>';
            }
            $showPage=str_replace('{pagelist}',$linkPage,$showPage);
        }
        //下拉框分页
        if (preg_match("{option}",$tplcontent)){
            $optionPage='<select onchange="javascript:window.location=\''.$urlMain.'?page=\'+this.options[this.selectedIndex].value+\'&'.$urlOptionStr.'\';">';
            for($i=1;$i<$this->totalPage+1;$i++){
                if($i==$this->cpage){
                    $optionPage.="<option selected='selected' value='$i'>第".$i."页</option>\n";
                }else{
                    $optionPage.="<option value='$i'>第".$i."页</option>\n";
                }
            }
            $optionPage.='</select>';
            $showPage=str_replace('{option}',$optionPage,$showPage);
        }
        return $showPage;
    }
}
?>

PHP分页代码

<?php
include("connection.php");
$perNumber=10; //每页显示的记录数
$page=$_GET['page']; //获得当前的页面值
$count=mysql_query("select count(*) from user"); //获得记录总数
$rs=mysql_fetch_array($count);
$totalNumber=$rs[0];
$totalPage=ceil($totalNumber/$perNumber); //计算出总页数
if (!isset($page)) {
    $page=1;
} //如果没有值,则赋值1
$startCount=($page-1)*$perNumber; //分页开始,根据此方法计算出开始的记录
$result=mysql_query("select * from user limit $startCount,$perNumber"); //根据前面的计算出开始的记录和记录数
while ($row=mysql_fetch_array($result)) {
    echo "user_id:".$row[0]."<br>";
    echo "username:".$row[1]."<br>"; //显示数据库的内容
}
if ($page != 1) { //页数不等于1
?>
    <a href="fenye.php?page=<?php echo $page - 1;?>">上一页</a> <!--显示上一页-->
<?php
}
for ($i=1;$i<=$totalPage;$i++) { //循环显示出页面
?>
    <a href="fenye.php?page=<?php echo $i;?>"><?php echo $i ;?></a>
<?php
}
if ($page<$totalPage) { //如果page小于总页数,显示下一页链接
?>
    <a href="fenye.php?page=<?php echo $page + 1;?>">下一页</a>
<?php
}
?>

用php怎么实现页面的分页功能呢?用原生的php写,不是基于图片开发的,求代码,谢谢

<?php
/*
 *  $total 总记录数
 *  $num   显示数量
 *  $limit 回调SQL语句里的limit 变量
 *  $name  显示字符 默认'个商品'
 *
 * */
function page($total,$num,$limit,$name='个商品'){
    $pagenum=ceil($total/$num); //显示总页数 公式:总数据数 除以 每页显示的条数,有余进一
    $cpage=isset($_GET['page'])? $_GET['page']:1;// 当前页是哪一页,即默认在哪一页
    $offset=($cpage-1)*$num; //limit 第一个参数值  从第几个开始。
    $limit='LIMIT '.$offset.','.$num;
    $path=$_SERVER['SCRIPT_NAME'].'?'; // 获取当前URL路径
    //显示信息
    $str='共 '.$total.'&nbsp;'.$name.'&nbsp;&nbsp;'.'每页显示&nbsp;'.$num.'&nbsp;条&nbsp;&nbsp;'; //共多少数据
    //显示上一页
    if($cpage!=1){
        $befor=$cpage-1; //当前页 -1
        $str.='<a href="'.$path.'page=1">首页</a>&nbsp;&nbsp;<a href="'.$path.'page='.$befor.'">上一页</a> ';
    }
    //点击下一页后显示页码数量
    for($i=10;$i>=1;$i--){
        $n=$cpage-$i;
        if($n>0){
            $str.='<a href="'.$path.'page='.$n.'">'.$n.'&nbsp;&nbsp;'.'</a>';
        }
    }
    //当前显示页
    if($pagenum>1){
        $str.='<b>'.$cpage.'&nbsp;&nbsp;'.'</b>';
    }
    //当前页显示页码数量
    for($i=1;$i<=10;$i++){
        $n=$cpage+$i;
        if($n<=$pagenum){
            $str.='<a href="'.$path.'page='.$n.'">'.$n.'&nbsp;&nbsp;'.'</a>';
        }
    }
    //显示下一页
    if($cpage!=$pagenum){
        $next=$cpage+1;
        $str.='<a href="'.$path.'page='.$next.'">下一页</a>&nbsp;&nbsp;<a href="'.$path.'page='.$pagenum.'">末页</a>';
    }
    return $str;
}
模版中使用:
include "conn.inc.php";
include "fenye.inc.php";
//添加分页
$psql= "select count(*) as count from apply";
$arr=mysql_fetch_assoc(mysql_query($psql));
$total=$arr['count']; //统计总数据
$page=page($total,5,$limit,'条');
$sql = "select *  from apply order by id desc $limit ";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)){
    echo "<tr>";
    echo "<td>".$row['id']."</td>";
    echo "<td>".$row['name']."</td>";
    echo "<td>".$row['place']."</td>";
    echo "<td>".$row['xueli']."</td>";
    echo "<td>".$row['tel']."</td>";
    echo "<td>".$row['addtime']."</td>";
    echo "<td><a href='javascript:void(0)' onclick='xq({$row['id']})'>详情</a> | <a href='apply_index.php?del={$row['id']}'> 删除</a></td>";
    echo "</tr>";
}
echo "<tr><td colspan='7'>".$page."</td></tr>";
?>

PHP分页显示最简单代码

简单写法:

<?php
include ("./config/conn.php");
$sql="select * from ly order by id desc";
$result=mysql_query($sql);
$num=mysql_num_rows($result); //统计行数
$pages=ceil($num/5); //总页数
$page=$_GET['page']; //获得page,如果没有设置或者page=0,把$page=1;
if(!isset($page) || $page==0)
    $page=1;
$start=($page-1)*5;
$sql="select * from ly order by id desc limit $start,5";
mysql_query($sql);
if($sumpage!=0)
{
    if($page!=1)
    {
        echo "<a href=$PHP_SELF?page=1>首页</a>\t";
    }else{
        echo "首页\t";
    }
    if($page>1)
    {
        echo "<a href=$PHP_SELF?page=".($page-1).">上一页</a>\t";
    }else{
        echo "上一页\t";
    }
    if($page<$pages)
    {
        echo "<a href=$PHP_SELF?page=".($page+1).">下一页</a>\t";
    }else{
        echo "下一页\t";
    }
    if($page!=$pages)
    {
        echo "<a href=$PHP_SELF?page=".$pages.">尾页</a>\t";
    }else{
        echo "尾页\t";
    }
}else{
    echo "目前没有记录!!";
}
?>

thinkphp5原生查询时,查询结果怎么分页,具体代码应该怎么写?

造成这个错误的原因是 Db::query($sql) 返回的是数组,解决方法:

$list = Db::table('products')->field('id,name,price')->paginate(5);

视图: 遍历 $list 元素 分页 {$list->render()}