当前位置:首页 » 编程语言 » phpmysql分页

phpmysql分页

发布时间: 2022-06-06 19:27:31

php+mysql实现添加和分页功能

分页:

SELECT * FROM procts_description WHERE id > 0 LIMIT $p, $percount

$p 是记录开始条数,这个个参数需要指定的, 也就是通常说的页数[或者说是第几页]
$percount 是每页显示多少条,一般情况是个常量

添加:

Insert into procts_description(procts_id,procts_name) value('1111','aaaaa')

② PHP+MySQL高效的分页方法,如何优化LIMIT,OFFSET进行的分页

其实我没有看懂你想说什么

③ php mysql查询结果分页显示

查询语句加上 limit 12

④ php 如何对mysql的文本分页

$page=$_GET['page'];
$limit=($page-1)*10;
$offset=$page*10;
sql获取 limit $limit,$offset 就ok

⑤ php使用mysql数据库分页显示100页,怎么只输出前后5页的超链接,中间的用省略号显示

这个得用程序去判断,根据每页显示的记录条数和记录总数做处理,给你个思路吧。

functiongetTotalPagesStr($total,$maxPageItems){
$totalPages=0;
if($total%$maxPageItems==0){
$totalPages=$total/$maxPageItems;
if($totalPages==0)
$totalPages=1;
}
else{
$totalPages=(int)($total/$maxPageItems)+1;
}
return'<span>共'.$total.'条记录,'.$totalPages.'页</span>';
}
functiongetTotalPages($total,$maxPageItems){
$totalPages=0;

if($total%$maxPageItems==0){
$totalPages=$total/$maxPageItems;
if($totalPages==0)
$totalPages=1;
}
else{
$totalPages=(int)($total/$maxPageItems)+1;
}
return$totalPages;
}
functiongetPageUrl($page){
$url=$_SERVER['PHP_SELF'];
$i=0;
$queryStr='';
foreach($_GETas$key=>$value)
{
if($key!='page'){
if($i==0){
if(is_array($value)){
$j=0;
foreach($valueas$simpleValue){
if($j==0){
$queryStr=$queryStr.'?'.$key.'[]='.$simpleValue;
}
else{
$queryStr=$queryStr.'&'.$key.'[]='.$simpleValue;
}
$j++;
}
}
else{
$queryStr=$queryStr.'?'.$key.'='.$value;
}
}
else{
if(is_array($value)){
foreach($valueas$simpleValue){
$queryStr=$queryStr.'&'.$key.'[]='.$simpleValue;
}
}
else{
$queryStr=$queryStr.'&'.$key.'='.$value;
}
}
$i++;
}
}
foreach($_POSTas$key=>$value)
{
if($key!='page'&&$key!='submit'){

if($i==0){
if(is_array($value)){
$j=0;
foreach($valueas$simpleValue){
if($j==0){
$queryStr=$queryStr.'?'.$key.'[]='.$simpleValue;
}
else{
$queryStr=$queryStr.'&'.$key.'[]='.$simpleValue;
}
$j++;
}
}
else{
$queryStr=$queryStr.'?'.$key.'='.$value;
}
}
else{
if(is_array($value)){
foreach($valueas$simpleValue){
$queryStr=$queryStr.'&'.$key.'[]='.$simpleValue;
}
}
else{
$queryStr=$queryStr.'&'.$key.'='.$value;
}
}
$i++;
}
}
if($i!=0){
return$url.$queryStr.'&page='.$page;
}
return$url.'?page='.$page;
}
functiongetPageDisplay($total,$maxPageItems,$currentPage,$maxShowPages,
$pageSeparator){
$totalPages=getTotalPages($total,$maxPageItems);
$pageDispayStr='';
$ppage=0;
$startPage=0;
$endPage=0;

if($currentPage%$maxShowPages==0)
$ppage=(int)($currentPage/$maxShowPages)-1;
else
$ppage=(int)($currentPage/$maxShowPages);

$startPage=$ppage*$maxShowPages+1;
if($totalPages<=($ppage+1)*$maxShowPages){
$endPage=$totalPages;
}
else{
$endPage=($ppage+1)*$maxShowPages;
}
if($totalPages>$maxShowPages){
if($currentPage==1){
$pageDispayStr=$pageDispayStr.'<span>[第一页/上一页]</span>';
}
else{
$pageDispayStr=$pageDispayStr.'[<ahref=''.getPageUrl(1).''>第一页</a>/';
$pageDispayStr=$pageDispayStr.'<ahref=''.getPageUrl($currentPage-1).''>上一页</a>]';
}
}
if($startPage==1){
$pageDispayStr=$pageDispayStr.'<span><</span>';
}
else{
$pageDispayStr=$pageDispayStr.'<ahref=''.getPageUrl($startPage-1).''><<</a>';
}
for($i=$startPage;$i<=$endPage;$i++){
if($i!=$currentPage){
$pageDispayStr=$pageDispayStr.'<ahref=''.getPageUrl($i).''>'.$i.'</a>';
if($i!=$endPage){
$pageDispayStr=$pageDispayStr.$pageSeparator;
}
$pageDispayStr=$pageDispayStr.'';
}
else{
$pageDispayStr=$pageDispayStr.'<spanclass="current">'.$i.'</span>';
if($i!=$endPage){
$pageDispayStr=$pageDispayStr.$pageSeparator;
}
$pageDispayStr=$pageDispayStr.'';
}
}
if($endPage==$totalPages){
$pageDispayStr=$pageDispayStr.'<span>>></span>';
}
else{
$pageDispayStr=$pageDispayStr.'<ahref=''.getPageUrl($endPage+1).''>>></a>';
}
if($totalPages>$maxShowPages){
if($currentPage==$totalPages){
$pageDispayStr=$pageDispayStr.'<span>[下一页/最后一页]</span>';
}
else{
$pageDispayStr=$pageDispayStr.'[<ahref=''.getPageUrl($currentPage+1).''>下一页</a>';
$pageDispayStr=$pageDispayStr.'/<ahref=''.getPageUrl($totalPages).''>最后一页</a>]';
}
}
returngetTotalPagesStr($total,$maxPageItems).$pageDispayStr;
}

⑥ php中mysql语句怎么写分页

limit 控制分页

⑦ php+mysql分页问题,分页实现后,页码太多,如何仅显示前10页

php 和html 混编 看起来真是 DT

文件名为t1.php 已经过调试 没有加错误捕捉 表名 tttt

<?php
header("Content-Type:text/html;charset=utf-8");

$dbhost="127.0.0.1";
$dbuser="root";
$dbpwd="*****";
$dbname="*****";
$charName="'UTF8'";//设置查询字符集gbk,gbk2312,utf-8

$mysqli=newmysqli($dbhost,$dbuser,$dbpwd,$dbname);
if(mysqli_connect_errno()){//注意mysqli_connect_error()新特性
die('Unabletoconnect!').mysqli_connect_error();
}
$sql="SETNAMES".$charName;
$mysqli->query($sql);

$perNumber=50;//每页显示的记录数
$page=isset($_GET['page'])?$_GET['page']:1;//获得当前的页面值

//echo$page;

$sql="selectcount(*)ascountfromtttt";

$rs=$mysqli->query($sql);//获得记录总数
$row=mysqli_fetch_array($rs,MYSQLI_ASSOC);
$totalNumber=$row['count'];

$totalPage=ceil($totalNumber/$perNumber);//计算出总页数

$startCount=($page-1)*$perNumber;//分页开始,根据此方法计算出开始的记录

$result=$mysqli->query("select*fromttttorderbyiddesclimit$startCount,$perNumber");//根据前面的计算出开始的记录和记录数

$maxPageCount=10;
$buffCount=5;
$startPage=1;

if($page<$buffCount){
$startPage=1;
}elseif($page>=$buffCountand$page<$totalPage-$maxPageCount){
$startPage=$page-$buffCount+1;
}else{
$startPage=$totalPage-$maxPageCount+1;
}

$endPage=$startPage+$maxPageCount-1;


$htmlstr="";

$line=1;
while($row=mysqli_fetch_array($result,MYSQLI_ASSOC)){
$htmlstr.=$line."行";
$htmlstr.=$row['id']."</br>";

$line++;
}
$htmlstr.="<table><tr>";
if($page>1){
$htmlstr.="<td><ahref='t1.php?page=".1."'>第一页</a></td>";
$htmlstr.="<td><ahref='t1.php?page=".($page-1)."'>上一页</a></td>";
}
for($i=$startPage;$i<=$endPage;$i++){

$htmlstr.="<td><ahref='t1.php?page=".$i."'>".$i."</a></td>";
}

if($page<$totalPage){
$htmlstr.="<td><ahref='t1.php?page=".($page+1)."'>下一页</a></td>";
$htmlstr.="<td><ahref='t1.php?page=".$totalPage."'>最后页</a></td>";

}
$htmlstr.="</tr></table>";
echo$htmlstr;
?>

⑧ 求:php+mysql分页代码

楼上的光有上页和下页,我来做个【首页】【上页】【下页】【末页】的。

<?php
$result_num1 = mysql_query("SELECT * FROM article");
$num1 = mysql_num_rows($result_num1);
$pagesize1 = 10;
$start1 = $_GET['start1'];
$flag1 = $_GET['flag1'];

//判断$start1是否有值
if ($start1 == null) {
$start1 = 0;
}
//判断完毕

//判断$flag1是否有值
if ($flag1 == null) {
$flag1 = 0;
}
//判断完毕

//判断标志位以确定$start1的值
if ($flag1 == 1 and $start1+$pagesize1 < $num1){
$start1 = $start1+$pagesize1;
}
if ($flag1 == 2 and $start1+$pagesize1 > 0){
$start1 = $start1-$pagesize1;
}
//判断完毕

$query_proct_type = "SELECT art_title FROM article limit $start1, $pagesize1";
$result_proct_type = mysql_query($query_proct_type) or die("Query failed : " . mysql_error());
print ("<table width='100%'>
<tr>
<td valign='top' height = '188'>
<table width='100%'>");
while ($line_proct = mysql_fetch_array($result_proct_type, MYSQL_ASSOC)) {
print ("<tr>");
foreach ($line_proct as $col_value_proct_type) {

$result_proct = mysql_query ("SELECT * FROM article WHERE art_title ='$col_value_proct_type'");

$click_proct = mysql_fetch_array($result_proct) ;

print ("<td width='5%'><img border='0' src='../images/kind_list1.GIF' width='9' height='11'></td>");
print ("<td width='95%'><a href='view_article.php?art_title=$click_proct[0]' target='view_article'><span style='font-size:

9pt'>$click_proct[0]</span></a></td>");

}
print ("</tr>");
}

print ("</table>
</td></tr>");
//最后一页START标识
if (($num1 % $pagesize1) != 0){
$lastpage1 = $num1 - ($num1 % $pagesize1);
}else{
$lastpage1 = $num1 - $pagesize1;
}
//代码结束
//判断页数以及当前页代码
$pagenum1 = ceil($num1 / $pagesize1);

if ($start1 == 0){
$nowpage1 = 1;
}else{
$nowpage1 = ($start1 / $pagesize1) + 1;
}
//判断结束
print ("<tr>
<td><hr color='#314DA5' size='1' noshade style='border-style: dotted; border-width: 1px; padding: 0'></td>
</tr>
<tr>
<td><p align='center'><span style='font-size: 9pt'>第<font color = '#FF0000'><b>$nowpage1</b></font>页 | 共<font color =

'#FF0000'><b>$pagenum1</b></font>页 | 共<font color = '#FF0000'><b>$num1</b></font>条记录</span></td>
</tr>
<tr>
<td><p align='center'>");

//分页显示判断部分
if ($start1 == 0 and $pagesize1 < $num1){
print ("<span style='font-size: 9pt'>【首页】【上页】<a href ='page_.php?flag1=1&start1=$start1'>【下页】</a><a href ='page_.php?start1=$lastpage1'>【末页】</a></span>");
}elseif ($start1 >= $num1-$pagesize1 and $pagesize1 < $num1){
print ("<span style='font-size: 9pt'><a href ='page_.php?start1=0'>【首页】</a><a href ='page_.php?flag1=2&start1=$start1'>【上页】</a>【下页】【末页】</span>");
}elseif ($pagesize1 >= $num1 ){
print ("<span style='font-size: 9pt'>【首页】【上页】【下页】【末页】</span>");
}else{
print ("<span style='font-size: 9pt'><a href ='page_.php?start1=0'>【首页】</a><a href ='page_.php?flag1=2&start1=$start1'>【上页】</a><a href ='page_.php?flag1=1&start1=$start1'>【下页】</a><a href ='page_.php?start1=$lastpage1'>【末页】</a></span>");
}
//分页代码判断结束
print ("</td>
</tr></TABLE>");

mysql_free_result($result_proct_type);

?>
考虑到安全问题,数据库信息部分已经省略。

运行结果请查看:
http://www.eternity2008.com/test/page_.php

有问题请留言,或登陆http://www.eternity2008.com论坛联系。

⑨ 分页出错php+mysql

把你的数据库连接 都发出来看看。

热点内容
光遇花开脚本封号吗 发布:2025-02-08 18:23:15 浏览:532
怎么弄ld帐号和密码 发布:2025-02-08 18:11:42 浏览:627
新逍客20发动机压缩比 发布:2025-02-08 17:58:10 浏览:115
qq号和密码我都知道为什么登不上 发布:2025-02-08 17:52:21 浏览:872
宝塔服务器ip进不去 发布:2025-02-08 17:52:18 浏览:382
担保中介源码 发布:2025-02-08 17:14:37 浏览:413
手机存储卡速度测试 发布:2025-02-08 17:02:57 浏览:26
洪恩编程 发布:2025-02-08 17:02:19 浏览:815
linux远程控制 发布:2025-02-08 17:02:16 浏览:154
珠心算算法 发布:2025-02-08 17:00:37 浏览:920