1 sqlite 分页子句 LIMIT $count OFFSET $from
  $count表示条数,$from表示从哪个位置开始.
2 生成分页串的函数
  $baseUrl 为当前页面的url,
  $total 为总的记录数
  $start  为起始位置
  $limit  为每页的记录数
  $parm   为要带的额外参数function _setPage($baseUrl, $total, $start, $limit, $parm="")
{
  if($total != 0) $pages = $total/$limit;  else $pages = 0;
   if(empty($start)) $start=0;
   if(empty($limit)) $limit=20;   
   if($start>$total)$start=$total-$limit;
   if($start<0) $start=0;
   if($limit<0) $limit=0;
   if($limit>100) $limit=100;
   
   //$start = $start - $top;
   $showpage = 10;
   $currentpage=$start/$limit;
   if($currentpage<5){
      $pageno=0;
      $i=0;
   } else{
     if($currentpage+10 > $total/$limit ){
        $pageno=$currentpage -5;
     }else{
        $pageno=$currentpage - 5;
     }
     $i=$pageno*$limit;
   }
   if($total==0) $currentpage = -1;
   $strPage =  "总[" . ($currentpage + 1) . "/" . ceil($pages) . "]页&nbsp;&nbsp;";
   $page=0;
   $strPage .= "";   if($start/$limit > $showpage)
   {
     $tmp = ($pageno - 1)* $limit;
     $strPage.= "<a href='$baseUrl&$parm&start=".($tmp)."&limit=$limit'><<</a>";
   }
   
   while($i < $total)
   {
      if($start/$limit ==$pageno)
      {
        $strPage .=  "<font color=red>". ($pageno + 1) ." </font>";
      }
      else
      {
        $strPage .= "<a href='$baseUrl&$parm&start=".($pageno*$limit)."&limit=$limit'>".($pageno + 1)."</a> ";
      }
      $pageno++;
      $page++;
      $i+=$limit;      if($page > $showpage)
      {
        $strPage.= "<a href='$baseUrl&$parm&start=".($pageno*$limit)."&limit=$limit'>>></a>";
        break;
      }
    }
    
    if($start>0){
        $strPage .= "&nbsp;<a href='$baseUrl?$parm&start=0&limit=$limit'>首页</a>&nbsp;";
    }else{
        $strPage .= "&nbsp;首页&nbsp;";
    }    if($start>0){
        $strPage .=  "&nbsp;<a href='$baseUrl&$parm&start=".($start-$limit)."&limit=$limit'>上一页</a>&nbsp;";
    }
    if($start+$limit< $total){
        $strPage .= "&nbsp;<a href='$baseUrl&$parm&start=".($start+$limit)."&limit=$limit' >下一页</a>&nbsp;";
    }    if($start+$limit< $total){
      $strPage .= "&nbsp;<a href='$baseUrl&$parm&start=".($total- $total%$limit)."&limit=$limit'>尾页</a>&nbsp;";
    }else{
      $strPage .= "&nbsp;尾页&nbsp;";
    }
    return $strPage;
}3 记录一条一条的显示,最简单的弄个table就可以了.
 <table>
  <?php
    //$arrInfo为保存数据的二维数组
    $strPattern = "<tr><td>%s</td><td>%s</td><td>%s</td></tr>";
    foreach($arrInfo as $key=>$value)
    {
       echo sprintf($strPattern, $value['xx'], $value['xxx'], $value['xxxxx']);
    }
  ?>
  </table>

解决方案 »

  1.   

    谢谢你,我对PHP不了解,不知道怎么应用,可以帮我嵌入进去吗?
    我刚改了一下代码,如下:
    <?php
    $q = $_REQUEST['q'];
    $user = $_REQUEST['user'];
    $type = $_REQUEST['type'];
    $sendid = $_REQUEST['sendid'];
    $dsn = 'sqlite:ip.db';
    try{
    $dbh = new PDO($dsn, $user, $password);
    $dbh->beginTransaction();
    if (!empty($q)) {
    if ($type == 'ip') {
    $sth = $dbh->prepare("SELECT message,msgtime,sendid FROM eimmessage WHERE recvid LIKE '%$user%' and msgtime LIKE '%$q%' order by msgtime");
    $sth->execute();
    $result = $sth->fetchall();
    print_r($result);
    $dsn=null;
    } elseif ($type == 'area') {
    $sth = $dbh->prepare("SELECT message,msgtime,sendid FROM eimmessage WHERE recvid LIKE '%$user%' and sendid LIKE '%$q%' order by msgtime");$sth->execute();$result = $sth->fetchAll();print_r($result);
    $dsn=null;


    }catch (PDOException $e){echo 'Connection failed: ' . $e->getMessage();
    $dsn = null;}
    ?>
    搜索页面我独立开来了,搜索的时候表格显示message,msgtime,sendid的内容。万分感谢!
      

  2.   

    谢谢jakey9826啊~ 已经弄好了部分功能。