<? 
$con = mysql_connect("localhost","root","php.cn");
if(!$con)
{
die("can`t open database".mysql_error());
}

mysql_select_db("ganenwang",$con);
mysql_query("set names utf8;"); 
$out = '';
$page = $_GET["page"];
$count_page = $_GET["count_page"];
//修改每一页的信息量请修改$info_num变量
$info_num = 20;//每一页的信息量
if($count_page=='')
{
$sql1="SELECT count( `zw_id` ) FROM `daen_zhengwen_blog`";
$rest = mysql_query($sql1);
$renum =mysql_num_rows($rest);
if($renum >=$info_num)
{
if(intval($renum /$info_num) == ($renum /$info_num))
{
$count_page = intval($renum /$info_num);
}
else
{
$count_page = intval($renum /$info_num)+1;
}
// echo $renum .'<br/>';
//echo $count_page.'<br/>';

}
else
{
$count_page = 1;

}
}
if($page == '')
{
$now_page =1;
//echo '现在的页数'.$now_page.'<br/>';

}
else
{
$now_page = $page;
//echo '现在的页数'.$now_page.'<br/>';
}
$show_page = '5';//每一页显示的最大页数
$link = 'zwtoupiao.php'; //分页页面的地址
$link_class = '';
?>
<?$start = ($now_page-1)*$info_num;
//echo 'start'.$start.'<br/>';
$RES_row = '';
?>
<?
require_once 'require/class/fenye.php';
$fenye = new fenye_class();
//echo $now_page,'<br/>'.$count_page,'<br/>'.$show_page,'<br/>'.$link,'<br/>'.$link_val,'<br/>'.$link_class;
$fenye->get_var($now_page,$count_page,$show_page,$link,$link_val,$link_class);
$fenye->start();
$first = $fenye->first_page();
$last = $fenye->last_page();
$num_pages = $fenye->num_page();
$next = $fenye->next_page();
$end = $fenye->end_page();
?>
<? echo $first;?><? echo $last;?><? echo $num_pages;?><? echo $next;?><? echo $end;?> </div>

解决方案 »

  1. 首先,如果你的环境不支持短标记。请把<? 改为:<?php  哪里不成功,请指出。
      

  2. 看你的代码貌似是想:
    将查询的全部数据集合放入二维数组,然后对二维数组的键值进行操作,但是,你的sql语句只query了没有while取其结果集啊;$rest = mysql_query($sql1);
    $renum =mysql_num_rows($rest);  // 这只是执行结果后的行数
    //数据结果呢?
    if($renum >=$info_num)而且你的分页类中也没有相关sql操作,那么,请先将你的sql数据打出来看看