如何编写多页面分页? 本帖最后由 allix123 于 2011-04-13 21:35:53 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 url上的1、2、3。。就是page吧! 点"$i"的时候就指向"new_$i"页用一个循环来分配链接,首先你得先想出分页的方法,这个根据具体内容来计算分出的页数,就可以进行循环了。下面是关于截取文字的方法function csubstr($str,$start,$len){ //这是解决中文编码的 $strlen=strlen($str); if($start>=$strlen) {$tmpstr=$str;} else { for($i=$start;$i<$len;$i++) { if(ord(substr($str,$i,1))>0xa0)//ascii码 代表该字符是中文的开头 { $tmpstr.=substr($str,$i,2); $i++; }else{ $tmpstr.=substr($str,$i,1); } if($i+$start>$strlen) break; } } return $tmpstr; }//------------------------------------------------- //示例 echo csubstr( "123中国人",0,2)."<br/>";echo csubstr( "123中国人",2,15)."<br/>"; 下面是关于分页的代码function cpage($str,$len)//$len表示每页显示的文字长度{ $strlen=strlen($str); $num=ceil($strlen/$len); for($i=0;$i<$num;$i++) { echo "<a href=\"$i.html\">$i</a> "; } } //------------------------------------------------- //示例 $str="ob_get_contents();ob_end_clean();ob_start()使用ob_start()把输出那同输出到缓冲区,而不是到浏览器。然后用ob_get_contents得到临近缓冲区的数据。 ob_start()在服务器打开一个缓冲区来保存所有的输出。所以在任何时候使用echo ,输出都将被加入缓冲区中,直到程序运行结束或者使用ob_flush()来结束。然后在服务器中缓冲区的内容才会发送到浏览器,由浏览器来解析显示。函数ob_end_clean 会清除临近缓冲区的内容,并将缓冲区关闭,但不会输出内容。此时得用一个函数ob_get_contents()在ob_end_clean()前面来获得缓冲区的内容。这样的话,能将在执行ob_end_clean()前把内容保存到一个变量中,然后在ob_end_clean()后面对这个变量做操作"; echo cpage($str,"10"); 具体每个页面需要模板,你都可以批量生产,用同一个模板在该输入文字的地方输入下面是我以前写的一个产生html的代码 有时用html文件保存数据比数据库更方便 于是在做网站时经常采用动态语言如 php 生成 html文件下面我讲一个我自己摸索成功了的php生成html文件的方法//由时间生成文件名 $now=date("YmdHis"); $style=".html"; $html=$filepath1.$now.$style; $filepath="newhtml/".$filepath1.$now.$style;//保存路径 $fp=fopen($filepath, w);//打开文件,若文件不存在,则新建文件 if(fwrite($fp, $new)) {//$new是需要写入的html代码,里面可以包含一些动态的变量 return $html; fclose($fp); die ("写入模板成功!"); }else { fclose($fp); die ("写入模板失败!"); }我的原文链接 我的分页, 需要传入什么应该能看的明白吧<!--{if $page_info.page_count gt 1}--><div class="allballyCont"> <p class="page"> <span class="fl">{sprintf lang=total_item var1=page_info.item_count}</span> <span class="pageNums">{$page_info.curr_page} / {$page_info.page_count}</span> <!--{if $page_info.curr_page eq 1}--> <span class="pageIndex">首页</span> <!--{else}--> <a class="pageIndex_hover" href="{$page_info.first_link}#module">首页</a> <!--{/if}--> <!--{if $page_info.prev_link}--> <a class="pageUp_hover" href="{$page_info.prev_link}#module">上一页</a> <!--{else}--> <span class="pageUp">上一页</span> <!--{/if}--> <!--{foreach from=$page_info.page_links key=page item=link}--> <!--{if $page_info.curr_page eq $page}--> <a class="pageHover" href="{$link}#module">{$page}</a> <!--{else}--> <a class="pageLink" href="{$link}#module">{$page}</a> <!--{/if}--> <!--{/foreach}--> <!--{if $page_info.next_link}--> <a class="pageDown_hover" href="{$page_info.next_link}#module">下一页</a> <!--{else}--> <span class="pageDown">下一页</span> <!--{/if}--> <!--{if $page_info.curr_page eq $page_info.page_count}--> <span class="pageEnd">尾页</span> <!--{else}--> <a class="pageEnd_hover" href="{$page_info.last_link}#module">尾页</a> <!--{/if}--> </p></div><!--{/if}--> 如何转换数组中出现过的字段 php 转换 html特殊符号 求PHP 发送HTTP 请求返回XML的代码 php视频教程网站 乱码问题,求救在线等 为什么存到数组里面就是乱码 从mysql读图片路径但是无法显示 (<param[^>]+(?:name=['\"]?(src)['\"]?[^>]*?)value=['\"]?)(.*)(['\" ]?[^>]*>),怎么能适用于name和value不确定的情况? 初接触php,有个非常小的 print 问题请教!关于正确书写! SOS!!! 关于数据读取的问题 本地调测没有问题,放到网站上就出不来数据 [急救]怎么单引号转义了还是不能存入数据库
下面是关于截取文字的方法function csubstr($str,$start,$len)
{
//这是解决中文编码的
$strlen=strlen($str);
if($start>=$strlen)
{$tmpstr=$str;}
else
{
for($i=$start;$i<$len;$i++)
{
if(ord(substr($str,$i,1))>0xa0)//ascii码 代表该字符是中文的开头
{
$tmpstr.=substr($str,$i,2);
$i++;
}else{
$tmpstr.=substr($str,$i,1);
}
if($i+$start>$strlen)
break;
}
}
return $tmpstr;
}//-------------------------------------------------
//示例
echo csubstr( "123中国人",0,2)."<br/>";
echo csubstr( "123中国人",2,15)."<br/>"; 下面是关于分页的代码function cpage($str,$len)//$len表示每页显示的文字长度
{
$strlen=strlen($str);
$num=ceil($strlen/$len);
for($i=0;$i<$num;$i++)
{
echo "<a href=\"$i.html\">$i</a> ";
}
}
//-------------------------------------------------
//示例
$str="ob_get_contents();
ob_end_clean();
ob_start()使用ob_start()把输出那同输出到缓冲区,而不是到浏览器。
然后用ob_get_contents得到临近缓冲区的数据。 ob_start()在服务器打开一个缓冲区来保存所有的输出。所以在任何时候使用echo ,输出都将被加入缓冲区中,直到程序运行结束或者使用ob_flush()来结束。然后在服务器中缓冲区的内容才会发送到浏览器,由浏览器来解析显示。
函数ob_end_clean 会清除临近缓冲区的内容,并将缓冲区关闭,但不会输出内容。
此时得用一个函数ob_get_contents()在ob_end_clean()前面来获得缓冲区的内容。
这样的话,能将在执行ob_end_clean()前把内容保存到一个变量中,然后在ob_end_clean()后面对这个变量做操作";
echo cpage($str,"10");
下面是我以前写的一个产生html的代码
有时用html文件保存数据比数据库更方便 于是在做网站时经常采用动态语言如 php 生成 html文件下面我讲一个我自己摸索成功了的php生成html文件的方法//由时间生成文件名 $now=date("YmdHis");
$style=".html";
$html=$filepath1.$now.$style;
$filepath="newhtml/".$filepath1.$now.$style;//保存路径
$fp=fopen($filepath, w);//打开文件,若文件不存在,则新建文件
if(fwrite($fp, $new)) {//$new是需要写入的html代码,里面可以包含一些动态的变量
return $html;
fclose($fp);
die ("写入模板成功!");
}else {
fclose($fp);
die ("写入模板失败!");
}
我的原文链接
<!--{if $page_info.page_count gt 1}-->
<div class="allballyCont">
<p class="page">
<span class="fl">{sprintf lang=total_item var1=page_info.item_count}</span>
<span class="pageNums">{$page_info.curr_page} / {$page_info.page_count}</span>
<!--{if $page_info.curr_page eq 1}-->
<span class="pageIndex">首页</span>
<!--{else}-->
<a class="pageIndex_hover" href="{$page_info.first_link}#module">首页</a>
<!--{/if}-->
<!--{if $page_info.prev_link}-->
<a class="pageUp_hover" href="{$page_info.prev_link}#module">上一页</a>
<!--{else}-->
<span class="pageUp">上一页</span>
<!--{/if}-->
<!--{foreach from=$page_info.page_links key=page item=link}-->
<!--{if $page_info.curr_page eq $page}-->
<a class="pageHover" href="{$link}#module">{$page}</a>
<!--{else}-->
<a class="pageLink" href="{$link}#module">{$page}</a>
<!--{/if}-->
<!--{/foreach}-->
<!--{if $page_info.next_link}-->
<a class="pageDown_hover" href="{$page_info.next_link}#module">下一页</a>
<!--{else}-->
<span class="pageDown">下一页</span>
<!--{/if}-->
<!--{if $page_info.curr_page eq $page_info.page_count}-->
<span class="pageEnd">尾页</span>
<!--{else}-->
<a class="pageEnd_hover" href="{$page_info.last_link}#module">尾页</a>
<!--{/if}-->
</p>
</div>
<!--{/if}-->