本文目录一览:
- php分页代码
- 求php分页代码
- PHP分页代码
- 用php怎么实现页面的分页功能呢?用原生的php写,不是基于图片开发的,求代码,谢谢
- PHP分页显示最简单代码
- 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.' '.$name.' '.'每页显示 '.$num.' 条 '; //共多少数据
//显示上一页
if($cpage!=1){
$befor=$cpage-1; //当前页 -1
$str.='<a href="'.$path.'page=1">首页</a> <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.' '.'</a>';
}
}
//当前显示页
if($pagenum>1){
$str.='<b>'.$cpage.' '.'</b>';
}
//当前页显示页码数量
for($i=1;$i<=10;$i++){
$n=$cpage+$i;
if($n<=$pagenum){
$str.='<a href="'.$path.'page='.$n.'">'.$n.' '.'</a>';
}
}
//显示下一页
if($cpage!=$pagenum){
$next=$cpage+1;
$str.='<a href="'.$path.'page='.$next.'">下一页</a> <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()}