这段代码分页显示为什么不能翻页??<文本在附件中> 1.代码的$page接收有没有问题?2.输出直接用echo nl2br(substr($counter,($page-1)*200,$page*200)); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 很明显的错误吗你的page参数都没有获取$page=$_REQUEST['page'];这个都没有怎么可能翻页呢 以前刚好有一份代码,你试一下,我用过了是没问题:<?$c_page=$_GET['page']; //当前页$contstr="文字内容,可从数据库中查询出";// 文字内容,可从数据库中查询出$listbyte=2000; //每页显示字节数,正常情况下可设置为5000或其他//##寻找文章分页点----------$contlen=strlen($contstr);$j=0; //总页数$listat[0]=0;$lookAt=0;for($i=1;$i<$contlen/$listbyte+1;$i++){if($lookAt<$listbyte)$lookAt=$listbyte;if($lookAt>$contlen){ $j++; $listat[$j]=$contlen; break;}$endAt=strpos($contstr,"\n",$lookAt); // \n//如果余下的内容不足一页的1/5加到本页或找不到分页符则作一页处理if($endAt>$contlen-$listbyte/5 or intval($endAt)<1){ $j++; $listat[$j]=$contlen; /// break;}else{ $j++; $listat[$j]=$endAt; $lookAt=$endAt+$listbyte;}}//打印页码$pagenum=$j;//总页$page=intval($c_page);if(empty($page) or $page<1 or $page>$pagenum) $page=1;if($pagenum>1)for($i=1;$i<$pagenum+1;$i++)//{echo "[<a href=".$addurl."&page=$i>$i</a>] ";}//输出当前页内容$stag=$page-1;$startb=$listat[$stag];if($startb>0) //去除首个换行$startb=$startb+1;$cont=substr($contstr,$startb,$listat[$page]-$startb);//要开启tidy,网上查一下,很多资料的$config = array('indent' => TRUE,'output-xhtml' => TRUE,'wrap' => 200);$tidy = tidy_repair_string($cont,$config,'raw'); //返回的是tidy对象//echo $tidy;//echo iconv('gb2312','gb2312//IGNORE',$tidy);$encode=mb_detect_encoding($tidy,"ASCII,CP936,EUC-CN,BIG-5,UTF-8,EUC-TW"); echo mb_convert_encoding($tidy,'gb2312',$encode);?> <?phpsession_start();$page = (int)$_GET['page']?:1;?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>超长文本的分页显示 </title> <style type="text/css"> <!-- .STYLE1 {font-size: 12px} .STYLE2 {font-size: 13px} --> </style> </head> <body> <table width="500" border="1" cellpadding="0" cellspacing="0" bgcolor="#9AFAFC"> <tr> <td height="27" align="center"> <strong>超长文本的分页显示 </strong> </td> </tr> <tr> <td height="90" align="left" valign="middle"> <span class="STYLE2"> <?php if($page) { $fp=fopen("file/file.txt","r"); $counter=fgets($fp); $length=strlen($counter); $page_count=ceil($length/200); include("function.php"); $c=msubstr($counter,0,($page-1)*200); $c1=msubstr($counter,0,$page*200); echo substr($c1,strlen($c),strlen($c1)-strlen($c)); }?> </span> </td> </tr> </table> <table width="500" border="1" cellpadding="0" cellspacing="0" bgcolor="#9AFAFC"> <tr> <td width="42%" align="center" valign="middle"> <span class="STYLE1"> 页次: <?php echo $page;?> / <?php echo $page_count;?> 页 </span> </td> <td width="58%" height="28" align="left" valign="middle"> <span class="STYLE1"> 分页: <?php if($page!=1) { echo " <a href=index.php?page=1>首页 </a> "; echo " <a href=index.php?page=".($page-1).">上一页 </a> "; } if($page <$page_count) { echo " <a href=index.php?page=".($page+1).">下一页 </a> "; echo " <a href=index.php?page=".$page_count.">尾页 </a>"; } ?> </span> </td> </tr> </table> </body> </html> //function.php*************************** <?php function msubstr($str,$start,$len){ $strlen=$start+$len; for($i=0;$i <$strlen;$i++) { if(ord(substr($str,$i,1))>0xa0) { $tmpstr.=substr($str,$i,2); $i++; } else { $tmpstr.=substr($str,$i,1); } } return $tmpstr; } ?> syu的第三行有误阿,谁改一下,改好我就选他结贴啦 第三行是5.1版写法.改为 $page = (int)$_GET['page']?(int)$_GET['page']:1;就行了 大家看看奇怪的错误?应该怎么解决. PHP一个时间问题 PHP 输出session 验证码与图片不同步,图片总是快一步,求解! Zend PHPChina厂商权威认证 php+java不明白的地方?盼高手...... php可否检查链接是否可用?有没有这个功能? 提取数据库数据格式化报表的问题 有谁帮看一下这个计数器程序,运行时总出错,我实在没办法了 分页显示 如何用php取得一个网页的html代码? 发送邮件(PHP) PHP 上传的问题
你的page参数都没有获取
$page=$_REQUEST['page'];
这个都没有怎么可能翻页呢
<?
$c_page=$_GET['page']; //当前页
$contstr="文字内容,可从数据库中查询出";// 文字内容,可从数据库中查询出
$listbyte=2000; //每页显示字节数,正常情况下可设置为5000或其他
//##寻找文章分页点----------
$contlen=strlen($contstr);
$j=0; //总页数
$listat[0]=0;
$lookAt=0;
for($i=1;$i<$contlen/$listbyte+1;$i++){
if($lookAt<$listbyte)
$lookAt=$listbyte;
if($lookAt>$contlen){
$j++;
$listat[$j]=$contlen;
break;
}
$endAt=strpos($contstr,"\n",$lookAt); // \n
//如果余下的内容不足一页的1/5加到本页或找不到分页符则作一页处理
if($endAt>$contlen-$listbyte/5 or intval($endAt)<1){
$j++;
$listat[$j]=$contlen; ///
break;
}
else{
$j++;
$listat[$j]=$endAt;
$lookAt=$endAt+$listbyte;
}
}
//打印页码
$pagenum=$j;//总页
$page=intval($c_page);
if(empty($page) or $page<1 or $page>$pagenum) $page=1;
if($pagenum>1)
for($i=1;$i<$pagenum+1;$i++)
//{echo "[<a href=".$addurl."&page=$i>$i</a>] ";}
//输出当前页内容
$stag=$page-1;
$startb=$listat[$stag];
if($startb>0) //去除首个换行
$startb=$startb+1;
$cont=substr($contstr,$startb,$listat[$page]-$startb);//要开启tidy,网上查一下,很多资料的
$config = array('indent' => TRUE,'output-xhtml' => TRUE,'wrap' => 200);
$tidy = tidy_repair_string($cont,$config,'raw'); //返回的是tidy对象
//echo $tidy;
//echo iconv('gb2312','gb2312//IGNORE',$tidy);
$encode=mb_detect_encoding($tidy,"ASCII,CP936,EUC-CN,BIG-5,UTF-8,EUC-TW");
echo mb_convert_encoding($tidy,'gb2312',$encode);
?>
<?php
session_start();
$page = (int)$_GET['page']?:1;
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>超长文本的分页显示 </title>
<style type="text/css">
<!--
.STYLE1 {font-size: 12px}
.STYLE2 {font-size: 13px}
-->
</style>
</head>
<body>
<table width="500" border="1" cellpadding="0" cellspacing="0" bgcolor="#9AFAFC">
<tr>
<td height="27" align="center"> <strong>超长文本的分页显示 </strong> </td>
</tr>
<tr>
<td height="90" align="left" valign="middle"> <span class="STYLE2">
<?php
if($page)
{
$fp=fopen("file/file.txt","r");
$counter=fgets($fp);
$length=strlen($counter);
$page_count=ceil($length/200);
include("function.php");
$c=msubstr($counter,0,($page-1)*200);
$c1=msubstr($counter,0,$page*200);
echo substr($c1,strlen($c),strlen($c1)-strlen($c));
}
?>
</span> </td>
</tr>
</table>
<table width="500" border="1" cellpadding="0" cellspacing="0" bgcolor="#9AFAFC">
<tr>
<td width="42%" align="center" valign="middle"> <span class="STYLE1"> 页次: <?php echo $page;?> / <?php echo $page_count;?> 页 </span> </td>
<td width="58%" height="28" align="left" valign="middle"> <span class="STYLE1"> 分页:
<?php
if($page!=1)
{
echo " <a href=index.php?page=1>首页 </a> ";
echo " <a href=index.php?page=".($page-1).">上一页 </a> ";
}
if($page <$page_count)
{
echo " <a href=index.php?page=".($page+1).">下一页 </a> ";
echo " <a href=index.php?page=".$page_count.">尾页 </a>";
}
?>
</span> </td>
</tr>
</table>
</body>
</html> //function.php***************************
<?php
function msubstr($str,$start,$len)
{
$strlen=$start+$len;
for($i=0;$i <$strlen;$i++)
{
if(ord(substr($str,$i,1))>0xa0)
{
$tmpstr.=substr($str,$i,2);
$i++;
}
else
{
$tmpstr.=substr($str,$i,1);
}
}
return $tmpstr;
}
?>
改为 $page = (int)$_GET['page']?(int)$_GET['page']:1;
就行了