是啊,用 echo/exit 查看每一步的情况就知道了

解决方案 »

  1.   

    令php.ini中
    register_globals = on或在程序开始处加入
    extract($_GET);
    extract($_POST);
      

  2.   

    几位大哥的方法我试过了,
    1 用echo变量输出也是和我预想的一样
    可就是结果不对
    2 register_globals我设的是on ]
    3 在程序开始处加
      extract($_GET);
      extract($_POST);不管用
    ***************************
    我觉得是函数执行上的问题,好象一直执行着同样的命令
    点"上一页"和"下一页"时候,是不是每次都是重新的执行查询啊?
    然后每一页都是显示新的搜索结果所以每一页的内容都一样
    怎么才能改正啊???$MySQL->Query($TableName,$Fields,$Condition,$Order,$Sequenc,$offset,$maxline);//执行查询 
    ........
    if ($MySQL->nRows > 0) {//如果在数据库中搜索到结果,$MySQL->nRows 为信息总条数
    $rec_num_list = $offset;//每页显示信息条数
    if (($MySQL->nRows - $offset) < $maxline)//总条数-偏移量<每页显示数
    $end = $MySQL->nRows - $offset;
    else
    $end = $maxline;
    for ($i = 0; $i < $end; $i++) {
    $data = $MySQL->GetValue(-1,$i);//获得一条查询值
    echo $rec_num_list++; // 结果序列值
    echo "<pre>";
    print_r($data);//输出
    echo "</pre>";
    } // 其它页面的链接
    if (!empty($KeyWord) and ($MySQL->nRows > $maxline)) {
    echo "<p style=line-height:150% align=center>";
    MyPages($MySQL->nRows,$KeyWord,$offset,$maxline);
    echo "<br><br></p>";
    }.............
    function mypage
    **********
    function MyPages($total, $keyword, $offset, $maxline,$maxpage = 5){
    echo "更 多 内 容<br>";
    $keyword_url = urlencode($keyword);
        $pages=ceil($total / $maxline);
    // 检查是否有上一页
    if($offset >= $maxline){
    $preoffset=$offset - $maxline;
    echo "<a href=\"".$_SERVER['PHP_SELF']."?KeyWord=".$keyword_url."&offset=".$preoffset."\"><b>上一页</b></a>  \n";
    }
    //感觉上面的就是关键所在,点"上一页"和"下一页"时候,是不是每次都是重新的执行查询啊?
    然后每一页都是显示新的搜索结果所以每一页的内容都一样
    怎么才能改正啊???
    //*************
    //检查是否有下一页
    $nextoffset = $offset + $maxline;
    if (ceil($nextoffset/$maxline) < $pages){
    echo " <a href=\"".$_SERVER['PHP_SELF']."?KeyWord=".$keyword_url."&offset=".$nextoffset."\"><b>下一页</b></a>\n";
    }
    }
      

  3.   

    在csdn上搜到一个大哥帖的分页代码,不过是php和mysql的
    我调试成功了,可以分页
    但是里面有行代码是  $paginate['query']   =   $query.'   limit   '.$offset.','.$rows;
    $offset为当前页的首记录偏移量 
    $rows为每页显示信息条数
    这个limit是mssql不支持的,如果是mssql ,怎么写这个sql语句??如果哪个大哥帮我把我的分页问题解决了,我...我....我.的80*2 都给他了
      

  4.   

    你改下sql不就好了么
    取:11-20
    select top 10 * from tablename where id not in (select top 10 id from tablename)
      

  5.   

    这个limit是mssql不支持的,如果是mssql ,怎么写这个sql语句??如果哪个大哥帮我把我的分页问题解决了,我...我....我.的80*2 都给他了-------------------------------------
    "select top 10 from table " in mssql is equal with "select * from table limit 0,10"in mysql
      

  6.   

    I know it's equal,but only ten can be returned
      

  7.   

    select top 10 * from tablename where id not in (select top 10 id from tablename)
    是可以得到的。我看了一个国外的bbs代码,他对mssql用的分页办法是这个,不知道会不会占多很多内存$result = mssql_query("SELECT top 20 * from table", $db_connect_id);
    mssql_data_seek($result,10);
      

  8.   

    1.--------------------------------------------
    $result = mssql_query("SELECT top ".($offset+$rows)." * from table", $db_connect_id);
    mssql_data_seek($result,$offset);这是自一个国外论坛代码里找出来的。讨论一下可行性。
    2.--------------------------------------------
    "select top $rows * from tablename where id not in (select top $offset id from tablename)"这一种方法限制了必须表里带有id这样的字段。假如表里没有唯一标识字段就不能用这种方法了。就不知道方法1的性能和2比相差多少?