对于单篇文章静态分页.
1 如何分页
一种是动态分页. 根据页面字数,自动分成几页. 不用预处理.缺点是,因为文章有好多html代码,以及一些内容比较紧凑的内容,如果智能处理,这是一个需要研究的地方.
第二种,在添加文章的时候,自动插入分页符,生成文章时根据分页符生成静态页面.缺点是需要人为控制.优点是人的智能取代机器的智能.使分页更为合理.2 分页命名,以及保存.
保存目录,可以根据时间串来存,可以根据分类串保存,也可以时间串加分类串保存.
分页文章命名.文章命名最好包括分类,时间以及一些文章对应的特殊的数据,为了安全,可以用md5加密.
对于文章的内部页面,可以加_1,_2这样,我觉得用数字更好些.
1 如何分页
一种是动态分页. 根据页面字数,自动分成几页. 不用预处理.缺点是,因为文章有好多html代码,以及一些内容比较紧凑的内容,如果智能处理,这是一个需要研究的地方.
第二种,在添加文章的时候,自动插入分页符,生成文章时根据分页符生成静态页面.缺点是需要人为控制.优点是人的智能取代机器的智能.使分页更为合理.2 分页命名,以及保存.
保存目录,可以根据时间串来存,可以根据分类串保存,也可以时间串加分类串保存.
分页文章命名.文章命名最好包括分类,时间以及一些文章对应的特殊的数据,为了安全,可以用md5加密.
对于文章的内部页面,可以加_1,_2这样,我觉得用数字更好些.
解决方案 »
- php程序如何批量将图片从一台服务器传到另一台服务器
- 这个哪里有错了 高手看一下 谢了
- php复选框问题
- php 怎样将一装好的xml包 使用http 协议post到另一台服务器上,然后再获取状态服务器返回的xml包
- 入不了数据库!代码有问题吗?各位看看!
- asp程序员如何开始学习php?
- 又要烦劳孟兄,鸟儿兄,梅花雨,秋水无恨等众位高手,请帮忙看看这段程序:(问题是为什么不执行sec.xsl样式表文件???.而存成XML文件问题不存在
- 使用PHP4中的 IntegratedTemplate类实现HTML和PHP代码分离--教程
- 新手fopen函数不知道哪里错了,大神帮忙看下
- mysql查询分组之后字段求和值等于多少的记录?
- imagedashedline()水平虚线不能显示,高手进来看一下。
- 上传到空间后 php验证码图片 无法显示
function page($page_num,$cur_page,$per_group,$base_url){ //分页函数参数列表(有多少页,当前页,每页多少个 ,链接地址) $base_url .= strpos($base_url, '?') ? '&' : '?'; $page_val = ""; if ($page_num < 1) {
return $page_val;
} elseif($page_num == 1) {
return $page_val = 1;
} $group_ok = !(($page_num-1)%($per_group-1)); //计算一共有多少组
if($group_ok) {
$group_num = ($page_num-1)/($per_group-1);
} else {
$group_num = ceil(($page_num-1)/($per_group-1));
} //判断当前页是否为一组的最后一个
$is_last_page = !(($cur_page-1)%($per_group-1)); //计算当前在的组数
if($is_last_page) {
$cur_group = ($cur_page-1)/($per_group-1) + 1;
} else {
$cur_group = ceil(($cur_page-1)/($per_group-1));
} //计算显示的起始页
$from = ($cur_group - 1) * ($per_group-1) + 1;
$from = $cur_group <= 1 ? 1 :$from;
$to = $from + $per_group;
$to = $to > $page_num ? $page_num + 1 : $to; for($a = $from; $a < $to; $a++){
if( $a != $cur_page) {
$page_val .= '<a href ='.$base_url.'page='.$a.'>'.$a.'</a>';
} else {
$page_val .= $a;
}
} //上一页下一页首页尾页
$next=$cur_page+1;
$prev=$cur_page-1;
if ($cur_page!=$page_num) {
$page_val.='<a href ='.$base_url.'page='.$next.'>'.'下一页'.'</a>';
$page_val .= '<a href ='.$base_url.'page='.$page_num.'>'.'>>'.'</a>'; //尾页
}
if ($cur_page!=1) {
$page_val = '<a href ='.$base_url.'page='.$prev.'>'.'上一页'.'</a>'.$page_val;
$page_val = '<a href ='.$base_url.'page=1>'.'<<'.'</a>'.$page_val; //首页
} return $page_val;
}
function fpage($row_num,$pagesize,$page,$url){
$page_count=$row_num%$pagesize?intval($row_num/$pagesize)+1:intval($row_num/$pagesize);
if ($page_count == 1)
{
$page_string = "第一页|上一页|下一页|尾页";
}
else
{
if ($page == 1)
{
$page_string = "<a href=".$url."?page=1>第一页</a>|上一页|<a href=".$url."?page=".($page+1).">下一页</a>|<a href=".$url."?
page=".$page_count.">尾页</a>";
}
if (($page > 1) and ($page < $page_count ))
{
$page_string = "<a href=".$url."?page=1>第一页</a>|<a href=".$url."?page=".($page-1).">上一页</a>|<a href=".$url."?page=".
($page+1).">下一页</a>|<a href=".$url."?page=".$page_count.">尾页</a>";
}
if ($page == $page_count)
{
$page_string = "<a href=".$url."?page=1>第一页</a>|<a href=".$url."?page=".($page-1).">上一页</a>|下一页|<a href=".$url."?
page=".$page_count.">尾页</a>";
}
}
$page_str=$page_string.(",".$page."/".$page_count."页");
echo "<br><p align=center>".$page_str."</p>";
}调用代码断:
$rs=$db->query("select * from content");
$total_num=$rs->num_rows;$page_num=10;
if( isset($_GET['page']) )
{
$page = intval( $_GET['page'] );
}
else
{
$page = 1;
}
$url='index.php';
fpage($total_num,$page_num,$page,$url);echo '<table border=1>';
$sql="select * from content order by id desc limit ".($page-1)*$page_num.",".$page_num;
$rs=$db->query($sql);
$i=($page-1)*$page_num+1;while($row = $rs->fetch_assoc()){
echo "<tr><td>".$i++."</td><td>".$row['name']."</td><td>".$row['contents']."</td></tr>";
}
echo '</table>';
* 翻页函数
*
* @param int $num 总纪录数
* @param int $perpage 每页大小
* @param int $curpage 当前页面
* @param string $mpurl url
* @return string 类似于: <div class="page">***</div>
*/
function page($num, $perpage, $curpage, $mpurl) {
$multipage = '';
$mpurl .= strpos($mpurl, '?') ? '&' : '?';
if($num > $perpage) {
$page = 10;
$offset = 2; $pages = @ceil($num / $perpage); if($page > $pages) {
$from = 1;
$to = $pages;
} else {
$from = $curpage - $offset;
$to = $from + $page - 1;
if($from < 1) {
$to = $curpage + 1 - $from;
$from = 1;
if($to - $from < $page) {
$to = $page;
}
} elseif($to > $pages) {
$from = $pages - $page + 1;
$to = $pages;
}
} $multipage = ($curpage - $offset > 1 && $pages > $page ? '<a href="'.$mpurl.'page=1" class="first"'.$ajaxtarget.'>1 ...</a>' : '').
($curpage > 1 && !$simple ? '<a href="'.$mpurl.'page='.($curpage - 1).'" class="prev"'.$ajaxtarget.'>‹‹</a>' : '');
for($i = $from; $i <= $to; $i++) {
$multipage .= $i == $curpage ? '<strong>'.$i.'</strong>' :
'<a href="'.$mpurl.'page='.$i.($ajaxtarget && $i == $pages && $autogoto ? '#' : '').'"'.$ajaxtarget.'>'.$i.'</a>';
} $multipage .= ($curpage < $pages && !$simple ? '<a href="'.$mpurl.'page='.($curpage + 1).'" class="next"'.$ajaxtarget.'>››</a>' : '').
($to < $pages ? '<a href="'.$mpurl.'page='.$pages.'" class="last"'.$ajaxtarget.'>... '.$realpages.'</a>' : '').
(!$simple && $pages > $page && !$ajaxtarget ? '<kbd><input type="text" name="custompage" size="3" onkeydown="if(event.keyCode==13) {window.location=\''.$mpurl.'page=\'+this.value; return false;}" /></kbd>' : ''); $multipage = $multipage ? '<div class="pages">'.(!$simple ? '<em> '.$num.' </em>' : '').$multipage.'</div>' : '';
}
return $multipage;
}
* 翻页函数
*
* @param int $num 总纪录数
* @param int $perpage 每页大小
* @param int $curpage 当前页面
* @param string $mpurl url
* @return string 类似于: <div class="page">***</div>
*/
function page($num, $perpage, $curpage, $mpurl) {
$multipage = '';
$mpurl .= strpos($mpurl, '?') ? '&' : '?';
if($num > $perpage) {
$page = 10;
$offset = 2; $pages = @ceil($num / $perpage); if($page > $pages) {
$from = 1;
$to = $pages;
} else {
$from = $curpage - $offset;
$to = $from + $page - 1;
if($from < 1) {
$to = $curpage + 1 - $from;
$from = 1;
if($to - $from < $page) {
$to = $page;
}
} elseif($to > $pages) {
$from = $pages - $page + 1;
$to = $pages;
}
} $multipage = ($curpage - $offset > 1 && $pages > $page ? '<a href="'.$mpurl.'page=1" class="first"'.$ajaxtarget.'>1 ...</a>' : '').
($curpage > 1 && !$simple ? '<a href="'.$mpurl.'page='.($curpage - 1).'" class="prev"'.$ajaxtarget.'>‹‹</a>' : '');
for($i = $from; $i <= $to; $i++) {
$multipage .= $i == $curpage ? '<strong>'.$i.'</strong>' :
'<a href="'.$mpurl.'page='.$i.($ajaxtarget && $i == $pages && $autogoto ? '#' : '').'"'.$ajaxtarget.'>'.$i.'</a>';
} $multipage .= ($curpage < $pages && !$simple ? '<a href="'.$mpurl.'page='.($curpage + 1).'" class="next"'.$ajaxtarget.'>››</a>' : '').
($to < $pages ? '<a href="'.$mpurl.'page='.$pages.'" class="last"'.$ajaxtarget.'>... '.$realpages.'</a>' : '').
(!$simple && $pages > $page && !$ajaxtarget ? '<kbd><input type="text" name="custompage" size="3" onkeydown="if(event.keyCode==13) {window.location=\''.$mpurl.'page=\'+this.value; return false;}" /></kbd>' : ''); $multipage = $multipage ? '<div class="pages">'.(!$simple ? '<em> '.$num.' </em>' : '').$multipage.'</div>' : '';
}
return $multipage;
}