看上面SQL写的好像功底也不差啊,怎么就忘了写上LIMIT了呢,查查手册吧,LIMIT是控制搜索从第几条到第几条的。

解决方案 »

  1.   

    SELECT * FROM `aa` LIMIT 0,5   从0条开始,取5条数据出来。
      

  2.   

    其实功底挺差的^_^,接触php和数据库没多久,但是公司却要我独立做东西了.
    现在我认为关键是查询的问题.
    程序的前部分我实现了输入关键词查询的功能,
    后来加上了分页的程序,分页里面又要用到前面查询的结果,
    这2者之间的对接我处理得不好,
    分页里面的$rs=mysql_query("select   count(*)   from   football",$link); 和
    $rs=mysql_query("select   *   from   football   order   by   id   desc   limit   $offset,$pagesize",$link); 查询所有数据其实并不是我所要的,我要的是查询部分符合搜索关键词的数据出来并分页.
    但是却不会写.limit也是第一次用.如果哪位高手有空就希望能够指点一下,我好快点完成分页这个功能,已经花快2天在这里,也一直被催,郁闷到死.
      

  3.   

    1.构造好SQL语句$query
    2.查找总记录数(供分页用)的SQL语句:把$query中select和from之间的东西替换成count(*)
    3.真正用来查询结果的SQL:在$query后面加上" limit (当前页数-1)*每页显示记录数,每页显示记录数 "
      

  4.   

    回复:wisword 第2点是没有问题的了 因为可以分到几页了.但现在最重要就是第3点,这个真正用来查询结果的SQL:$query怎么写?现在改写成这样:$rs=mysql_query($query."limit $offset,$pagesize");
    $query就是我程序前部分的查询搜索关键词用的查询语句,我认为是没错的了,因为都可以实现输入关键词搜索了.
    我就是想把前面查询的结果分页.可是现在又出错了.
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\PC_webserver\phproot\mine\searchfy.php on line 120这是120行的代码: if ($myrow = mysql_fetch_array($rs))
      

  5.   

    把sql语句打印出来,看看里面有没有问题?
      

  6.   

    同上
    在 mysql_query 之前把 $query 给输出来 看看什么样子给个我写的分页的 仅供参考吧$lngPage            = intval($_GET['page']);
    $lngPageSize        = 10;$strCountSQL = " Select Count(Id) From tablename "
    $strSQL = " Select ..... ";
    $CountResult = mysql_query($strCountSQL) or die(mysql_error());
    $CountRow = mysql_fetch_array($CountResult);
    mysql_free_result($CountResult);
    $lngRecCount = $CountRow[0];$lngAllPage = ceil($lngRecCount / $lngPageSize);
    if($lngPage<=0){
       $lngCurrentPage=1;
    }elseif($lngPage>=$lngAllPage){
       $lngCurrentPage=$lngAllPage;
    }else{
       $lngCurrentPage=$lngPage;
    }$lngFromRecord = ($lngCurrentPage-1)*$lngPageSize;
    $strSQL = " Select ..... From tablename Order By AddTime Desc Limit $lngFromRecord,$lngPageSize";  $Result = mysql_query($strSQL) or die(mysql_error());
    $lngI = 1 ;
    while($Row = mysql_fetch_array($Result)){
    $strUserName = $Row['AdminName'];
    $strContent = $Row['AdminAction'];
    $strIp = $Row['AddIp'];
    $timeEnter = $Row['AddTime'];
    echo "<tr>";
    echo "<td bgcolor=#EBF4FA>$strUserName</td>";
    echo "<td bgcolor=#EBF4FA>$strContent</td>";
    echo "<td bgcolor=#EBF4FA>$strIp</td>";
    echo "<td bgcolor=#EBF4FA>$timeEnter</td>";
    echo "</tr>";  
    }//分页函数.....
      

  7.   

    $rs=mysql_query("select       *       from       football       order       by       id       desc       limit       $offset,$pagesize",$link);  
    这里面连查询条件都没有,肯定就不会是你想要的了,你可以这样写
    $rs=mysql_query("select       *       from       football   (WHERE 一系列的查询条件, 注意把括号去掉)    order       by       id       desc       limit       $offset,$pagesize",$link);  
    如果有查询条件,记住,你查找的总页数也应该加上查询条件