喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 帮助

RSS 订阅当前论坛  

喜悦证交所已经关闭

上一主题 下一主题
     
标题: [问题] 求php分页显示长内容的代码  
 
panglongphp (panglongphp)
注册会员
Rank: 2
初级会员


UID 65962
精华 0
积分 159
帖子 81
金钱 159 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2005-8-18
来自 1
状态 离线
[广告]: q m
求php分页显示长内容的代码

大家好,我现在想到长的文章内容分页,我在网上找半天没有找到,

这是“百度知道” 找的

<?php
$str="可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了";
$p=$_GET['page'];
(!$p)?($p=1)$p);
$allpage=ceil(strlen($str)/20);
?>
<?php echo(substr($str,($p-1)*20,20))
?></p>
<p>
<a href="<? echo($PHP_SELF."?page=".strval($p-1))?>">上一页</a>
<a href="<? echo($PHP_SELF."?page=".strval($p+1))?>">下一页</a>
共 <?php echo $allpage ?> 页



但是不起作用,我在中间加 数字就变成乱码啦,请各位高手指导!!!

谢谢
2007-9-22 09:35 AM#1
查看资料  发短消息  Yahoo!  顶部
 
漠北怪叟
金牌会员
Rank: 6Rank: 6



UID 70640
精华 0
积分 2374
帖子 393
金钱 2374 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2006-3-29
状态 离线
[推荐阅读] 传神联合(北京)信息技术有限公司招聘PHP高级程序员
读取时这样取肯定是不行的



我的博客:http://hjc73.space.mywallop.cn,换窝了,http://my.haokan123.com/?104 自己开发的博客自己撑~
2007-9-22 09:58 AM#2
查看资料  Blog  发短消息  顶部
 
漠北怪叟
金牌会员
Rank: 6Rank: 6



UID 70640
精华 0
积分 2374
帖子 393
金钱 2374 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2006-3-29
状态 离线
[推荐阅读] 急聘:PHP工程师 (上海) 4名
要用od函数判断最后一位的ASCII是否打于127..如果是则要多取1位..



我的博客:http://hjc73.space.mywallop.cn,换窝了,http://my.haokan123.com/?104 自己开发的博客自己撑~
2007-9-22 10:02 AM#3
查看资料  Blog  发短消息  顶部
 
Lukin
新手上路
Rank: 1



UID 91227
精华 0
积分 38
帖子 18
金钱 38 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2007-4-13
来自 上海
状态 离线
[推荐阅读] 怎么用类把数据库内容读取出来
英文可以 中文不可以
把strlen换成mb_strlen
把substr 换成mb_substr试试
先查查手册 mb_strlen 和 mb_substr 怎么用再写!~

如果不行的话 你在用第二招
把strlen和substr换成下面这两个函数吧

<?php
//支持中文的substr(string,length[,start])
function cnsubstr($l1,$l2,$l3=0){
    
$I2 "/[x01-x7f]|[xc2-xdf][x80-xbf]|xe0[xa0-xbf][x80-xbf]|[xe1-xef][x80-xbf][x80-xbf]|xf0[x90-xbf][x80-xbf][x80-xbf]|[xf1-xf7][x80-xbf][x80-xbf][x80-xbf]/";
    
preg_match_all($I2,$l1,$I3);
       if (
count($I3[0]) - $l3 $l2) {
           return 
implode('',array_slice($I3[0],$l3,$l2))."...";
       }
       return 
implode('',array_slice($I3[0],$l3,$l2));
}
//计算中文字符长度
function len($l1){
    
$I2 "/[x01-x7f]|[xc2-xdf][x80-xbf]|xe0[xa0-xbf][x80-xbf]|[xe1-xef][x80-xbf][x80-xbf]|xf0[x90-xbf][x80-xbf][x80-xbf]|[xf1-xf7][x80-xbf][x80-xbf][x80-xbf]/";
    
preg_match_all($I2,$l1,$I3);
       return 
count($I3[0]);
}
?>
[ 本帖最后由 Lukin 于 2007-9-22 01:00 PM 编辑 ]




http://www.lukin.net
2007-9-22 12:57 PM#4
查看资料  访问主页  发短消息  QQ  顶部
 
大西瓜
新手上路
Rank: 1
初级会员


UID 46196
精华 0
积分 43
帖子 141
金钱 43 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2004-11-7
状态 离线
[推荐阅读] dirname(__FILE__)是什么意思?


<?php 
$str
="可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了可以了"
$p=$_GET['page']; 
(!
$p)?($p=1):($p); 
$allpage=ceil(mb_strlen($str)/20); 
echo(
mb_substr($str,($p-1)*20,20)) 
?></p> 
<p>
<? if ($page==1)
{
?>
首页&nbsp;&nbsp;上一页&nbsp;&nbsp;
<?}else{?>
<a href="<? echo($PHP_SELF."?page=".strval($p-1))?>">上一页</a> 
<?}?>
<?
if ($page==$allpage){?>
下一页&nbsp;&nbsp;尾页&nbsp;&nbsp;
<?}else{?>
<a href="<? echo($PHP_SELF."?page=".strval($p+1))?>">下一页</a>
<?}?>
共 <?php echo $allpage ?> 页
新手瞎改的




网通免费电影
www.netle.cn
2007-9-23 12:54 AM#5
查看资料  发短消息  顶部
 
大西瓜
新手上路
Rank: 1
初级会员


UID 46196
精华 0
积分 43
帖子 141
金钱 43 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2004-11-7
状态 离线
[推荐阅读] 承接项目外包
还是有乱码啊



网通免费电影
www.netle.cn
2007-9-23 01:04 AM#6
查看资料  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.063340 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP