PHP怎样截取文本并分页?

http://localhost/mypage/article_view.php?idsrc=116,我用传参的方法得到文章的id
然后在另一页面用
$sql_pre="select content from message WHERE id='$_GET[idsrc]'";
方法得到文章,然后用echo显示文章,但是文章太长,我需要将这篇文章分页显示,请问代码该如何写?
用一般分页原理不行,因为http://localhost/mypage/article_view.php?idsrc=116 后面有接有“idsrc=116”这个传递的参数。

我试过那种方法
:地址栏变成http://localhost/mypage/article_view.php?page=2

后面变成“page=2”但文章还是无法实现分页。
请高手帮忙解决。
分页代码=====================
<?
$str=htmtocode($row[content]);
$p=$_GET['page'];
(!$p)?($p=1):($p);
$allpage=ceil(strlen($str)/800);
?>
<?php echo(substr($str,($p-1)*800,800))
?></p>
=================================
太感谢!!!!我这才发现问题,我在写分页导航时少写了一个“&”

<a href="<? echo("article_view.php?idsrc=".$_GET[idsrc]."&page=".strval($p-1))?>">上一页</a>
<a href="<? echo("article_view.php?idsrc=".$_GET[idsrc]."&page=".strval($p+1))?>">下一页</a>
所以弄了一晚没弄好~~~

mysql数据库为xinxiku,数据表为joke。其定义sql语句如下:
create table joke (
id int(5) not null auto_increment,
biaoti varchar(40) not null,
neirong text not null,
primary key (id)
);
$3S::N?NK}clnSdEKY5A 字段说明:

www.mrw3c.com,专业的网页设计知识库。

id:记录号,自动递增且为主键
biaoti:标题
neirong:内容
PHP代码如下: Y2WHnbH?e6f

01.<html> 02.<head> 03.<title>分页显示的实现方法</title> 04.<meta http-equiv="content-type" content="text/html; charset=gb2312"> 05.<script language="javascript"> 06./* 定义一弹出窗口,来显示具体内容*/ 07.function popwin(url){ 08. window.open(url,"","left=340, top=190, height=280, width=400, resizable=yes,09. scrollbars=yes, status=no, toolbar=no, menubar=no, location=no"); 10.} 11.</script> 12.</head> 13.<body leftmargin='0' topmargin='0' rightmargin='0' > 14.<?php 15. //连接数据库 16. $db=mysql_connect("localhost","root",""); 17. mysql_select_db("xinxiku",$db); 18. //设定每一页显示的记录数 19. $pagesize=15; 20. //取得记录总数,计算总页数用 21. $res=mysql_query("select count(*) from joke " ,$db); 22. $myrow = mysql_fetch_array($res); 23. $numrows=$myrow[0]; 24. //计算总页数 25. $pages=intval($numrows/$pagesize); 26. if ($numrows%$pagesize) $pages++; 27. //判断页数设置与否,如无则定义为首页 28. if (!isset($page)) $page=1; 29. //判断转到页数 30. if (isset($ys)) 31. if ($ys>$pages) $page=$pages; 32. else 33. $page=$ys; 34. //计算记录偏移量 35. $offset=$pagesize*($page-1); 36. //取记录 37. $res=mysql_query("select id,biaoti from joke order by id desc limit $offset,$pagesize" ,$db); 38. //循环显示记录 39. if ($myrow = mysql_fetch_array($res)) 40. { 41. $i=0; 42.?> 43.<table width="101%" border="0" cellspacing="0" cellpadding="0"> 44. <tr> 45. <td width="5%" bgcolor="#e1e9fb"></td> 46. <td width="95%" bgcolor="#e1e9fb"><font color="#ff6666" size="2">内容</font></td> 47. </tr> 48.<?php 49. do { 50. $i++; 51.?> 52. <tr> 53. <td width="5%" bgcolor="#e6f2ff"><?php echo $i;?></td> 54. <td width="95%" bgcolor="#e6f2ff">55. <a href="javascript:popwin('jokenr.php?id=<?php echo $myrow[0];?>')" ><?php echo $myrow[1];?></a>56. </td> 57. </tr> 58.<?php 59. } 60. while ($myrow = mysql_fetch_array($res)); 61. echo "</table>" ; 62. } 63. //显示总页数 64. echo "<div align='center'>共有".$pages."页(".$page."/".$pages.")<br>"; 65. //显示分页数 66. for ($i=1;$i<$page;$i++) 67. echo "<a href='fy.php?page=".$i."'>第".$i ."页</a> "; 68. echo "第".$page."页 "; 69. for ($i=$page+1;$i<=$pages;$i++) 70. echo "<a href='fy.php?page=".$i."'>第".$i ."页</a> "; 71. echo "<br>"; 72. //显示转到页数 73. echo "<form action='fy.php' method='post'> "; 74. //计算首页、上一页、下一页、尾页的页数值 75. $first=1; 76. $prev=$page-1; 77. $next=$page+1; 78. $last=$pages; 79. if ($page>1) 80. { 81. echo "<a href='fy.php?page=".$first."'>首页</a> "; 82. echo "<a href='fy.php?page=".$prev."'>上一页</a> "; 83. } 84. if ($page<$pages) 85. { 86. echo "<a href='fy.php?page=".$next."'>下一页</a> "; 87. echo "<a href='fy.php?page=".$last."'>尾页</a> "; 88. } 89. echo "转到<input type=text name='ys' size='2' value=".$page.">页"; 90. echo "<input type=submit name='submit' value='go'>"; 91. echo "</form>"; 92. echo "</div>"; 93.?> 94.</body> 95.</html> YT,:V5~(c[70ZR"4Pm_ 程序说明:

�功能应用。

1、变量说明
$page :存放当前要显示的页数。
$pages :存放总页数。
$offset :存放当前页数的偏移量。
$pagesize :存放每页中显示的记录数。
2、mysql语句说明 Mr.W3C 前期发展,离不开网络文章,您如果看到这些文字请见谅!

select id,biaoti from joke order by id desc limit $offset,$pagesize
limit子句用来限制select语句返回的行数。limit中第一个参数指定要返回的第一行的偏移量offset,第二个参数指定返回行的最大数目pagesize。 ~]~x@}FyBT]TGmgF:HN]2Ml0J

实现原理:

WEB前端设计,关注WEB前端设计与开发,网站前台视觉呈现��

在程序中传递一页数变量page,在取记录时根据传递的页数值来计算出初始记录位置offset,再根据每页中要求显示的记录数pagesize取得记录集。然后显示之。
程序实现功能:
程序提供了两种页显示的方法(假定当前页为第三页)。
1.把所有的页数都显示出来,根据页数提供链接,当前页不提供链接。这适合于页数不是太多的情况。
2.提供总页数,翻页通过提供的首页、上一页、下一页、尾页和跳转到来实现。当然,如果当前页为每一页,不提供首页、上一页的链接,当前页为最后一页时,不提供下一页、尾页的链接。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-05-01
不可以在http://localhost/mypage/article_view.php?idsrc=116后面直接加page=2吗?

在php中要显示txt中的内容,但是,txt中的内容很多,要分页来显示,怎样做...
下面是最简单的方法:str=file_get_contents('a.txt');\/\/获取文件所有内容 page_size=1024;\/\/每页文字多少 page_no=5;\/\/需要显示第几页 echo substr($str, ($pahe_no-1)*$page_size, $page_size);\/\/输出相应页的内容 当然,上面的例子只是演示其原理,事实上比较复杂,比如这样可能把汉字...

php逐行读取txt、csv并分页
temp=explode(" ",$row);\/\/此时$temp[0]=前面的id号,$temp[1]=中文名,$temp[2]=后面的一长串 \/\/赋值吧 } \/\/explode是按字符分割string \/\/可以查查php手册 \/\/存回去用file_put_content

php遍历文件并分页.
while($entry=$d->read()) { ar[] = $entry;} d->close();pagesize = 10;page = $_GET['page'];if($page < 1)page = 1;pages = ceil(count($ar)\/$pagesize);echo "共".$pages."页 第".$page."页 ";if($page>1)echo ...

PHP显示很多数据库信息,如何自动分页呢?代码
PHP代码如下:\/ Author:默默 Date :2006-12-03 \/ page=isset($_GET['page'])?intval($_GET['page']):1; \/\/这句就是获取page=18中的page的值,假如不存在page,那么页数就是1。num=10; \/\/每页显示10条数据 db=mysql_connect("host","name","pass"); \/\/创建数据库连接 select=mysql_...

PHP分页原理是怎么样的
显示的时候情况和要求多变,不如自己根据类给出的结果处理,更好的方法是根据这个Pager类继承一个自己的子类来显示不同的分页,比如显示用户分页列表可以:<?phpClass MemberPager extends Pager{ function showMemberList() { global $db; $data = $this->getPageData(); \/\/ 显示结果的代码 \/\/ ... }} \/\/\/...

php怎样分页来显示mysql数据库中的一条数据的内容
str = "abcd需要截取的字符串";echo cut_str($str, 8, 0, 'gb2312');?> 4. BugFree 的字符截取函数 <?php \/ package BugFree version $Id: FunctionsMain.inc.php,v 1.32 2005\/09\/24 11:38:37 wwccss Exp Return part of a string(Enhance the function substr())author ...

PHP分页显示制作详解
<?php \/\/ FileName: Pager.class.php \/\/ 分页类,这个类仅仅用于处理数据结构,不负责处理显示的工作 Class Pager { var $PageSize; \/\/每页的数量 var $CurrentPageID; \/\/当前的页数 var $NextPageID; \/\/下一页 var $PreviousPageID; \/\/上一页 var $numPages; \/\/总页数 var $numItems; \/\/总记录...

PHPCMSV9的采集内容里面的那个分页怎么采集啊
具体位置在:\\phpcms\\modules\\content\\fields\\pages中,调整18.19.20行的顺序, 即把 ".L('page_type3')."这一行放在三行的第一位位置(意思是默认为手动分页),保存后。采集后的文章就可以按照你刚才在火车头采集器设置的字数进行分页了。

如何通过PHP获取一下本地目录下的所有图片,并在网页上分行页的显示出来...
while (($file = readdir($dir)) !== false){ if(is_dir($file)==false){ liebie = explode('.',$file);if(count($liebie)>=2){ if ((strtolower($liebie[1])=='jpg')||(strtolower($liebie[1])=='gif')){ if ($num%3==0){ list=$list.'';} list=$list.'复制';...

txt文件太大,求php分页显示读取的txt文件,或者将读取的内容显示在一个...
myFile = file( "100001.txt");\/\/用file()函数读取文本文件的内容。\/\/设置分页 page=is_numeric($_REQUEST['page'])?$_REQUEST['page']:1;page_size=3;\/\/每页显示三行 \/\/第一页,显示1-3行,对应的for循环起止条件是0-3 \/\/第二页,显示4-6行,对应的for循环起止条件是3-6 \/\/...

相似回答
大家正在搜