<?
$conn_id = odbc_connect($dsn,$user,$password);$pagesize = 3;//计算总记录数
$rs_num = "SELECT count(*) as id FROM news";
$rs_num = odbc_exec($conn_id,$rs_num);
$rs_num = odbc_result($rs_num,"id");//计算总页数
$pagecount = $rs_num / $pagesize;
$pagecount1 = intval($pagecount);//将总页数取整
$compare = $pagecount - $pagecount1;
switch ($compare){
case "0":
$pagecount = $pagecount1;//总页数
break;
default :
$pagecount1++;
$pagecount = $pagecount1;//总页数
break;
};
if ($pagecount == 0)$pagecount++;
$fpages = $pages-1;
$bpages = $pages+1;
?>
<table border="1" width="100%" cellspacing="0" bordercolordark="#FFFFFF" bordercolorlight="#000000" bgcolor="#FAD185" cellpadding="3" >
<tr>
<td width="35%"><span style="font-size: 9pt">
共<?php echo $pagecount ?>页 
<?php if($pages != 1)echo "<a href=title.php?lei=".$lei."&pages=1>";?>首页<?php if($pages != 1)echo "</a>"; ?> 
<?php if($pages != 1)echo "<a href=title.php?lei=".$lei."&pages=".$fpages.">"; ?>前页<?php if($pages != 1)echo "</a>"; ?> 
<?php if($pages != $pagecount)echo "<a href=title.php?lei=".$lei."&pages=".$bpages.">"; ?>后页<?php if($pages != $pagecount)echo "</a>"; ?> <?php if($pages != $pagecount)echo "<a href=title.php?lei=".$lei."&pages=".$pagecount.">"; ?>
 尾页<?php if($pages != $pagecount)echo "</a>"; ?>
 <?echo $rs_num;?>

解决方案 »

  1.   

    我问一个问题:当用where循环查找时,如何获取记录数.就是当循环条件是放在where之后.
      

  2.   

    xijuanhui(),没有这种可能性.在sql server 下面要限制返回的记录数可以用 
    select top n * from tablename
    的形式. where是对表中数据的过滤,不影响返回的具体行数.
    但是在asp中可以通过 rs.move n 的方式来移动到你需要的记录上,该方法也可以跳过n条记录.如果在Mysql下面就很简单了,我记得mysql确实可以在where后面加条件,
    select * from tablename where x=y limit 12, 20
    就可以返回第12到20条记录,非常方便,遗憾的是SQL Server不支持这种方法.