通用数据查询及分页函数模块

  • 来源: 编程中国 作者: 若水   2008-03-28/11:03
  • #应用开始
    #*********************************************************
       $yl_class = new yl_class();
       $type_functionname='list_info_admin';//循环列表函数名(如果多样式可重新创建一个类或直接修改原有类中list_info_main_obj样式)
       $pageurl = 'admin_article_list.php?';//显示信息列表页如有分类,其它参数:'admin_article_list.php?nid='.$nid.'&'
       $action = $_POST['action'] ? $_POST['action'] : $_GET['action'];//提交可用于其它功能使用
       $getpage = $_POST['page'] ? $_POST['page'] : $_GET['page'];//接收跳转页码
       $pageumn = 30;//每页显示记示数
       $selecttable = 'yl_info';//数据表
       $selectwhere = 'where yl_sh=1';//查询条件
       $selectstr = 'yl_id,yl_title,yl_adddate,';//需要查询字段
       $orderbystr = 'yl_adddate desc';//排序规则
       $yl_dbname = $dbname//数据库

       $list_str = $yl_class->list_select ($type_functionname,$pageurl,$getpage,$pageumn,$selecttable,$selectwhere,$selectstr,$orderbystr,$yl_dbname);
    #*********************************************************
    #显示列表
    #*********************************************************
       echo '<form name=myform methodpos action=>';
       echo '<input name=action type=hidden id=action>';
       echo $list_str;
       echo '</form>';
      
    #*********************************************************
    #应用结束
    #*********************************************************
    #*********************************************************
    #由于没有PHP环境效果看:印像新闻系统(asp版)www.115000.com.cn
    #*********************************************************
    /*分页样式表如何使用就不用我说了*/
    /*
    .pageNum {
        CLEAR: both; WIDTH: '100%';PADDING-RIGHT: 5px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; PADDING-BOTTOM: 0px; OVERFLOW: hidden; COLOR: #6396D6; PADDING-TOP: 0px; HEIGHT: 25px;
    }
    .pageNum .num {
        FLOAT: right;
    }
    .pageNum .normal {
        BACKGROUND: #F7FBFF;COLOR: #6396D6; FLOAT: left; PADDING-BOTTOM: 2px; MARGIN: 0px 3px 0px 0px; PADDING-TOP: 3px;BORDER-LEFT: #6396D6 1px solid; BORDER-RIGHT: #6396D6 1px solid;PADDING-RIGHT: 5px;  PADDING-LEFT: 5px; BORDER-TOP: #6396D6 1px solid;BORDER-BOTTOM: #6396D6 1px solid;
    }
    .pageNum .dot {
        FLOAT: left;COLOR: #6396D6;
    }
    .pageNum A {
        BACKGROUND: #298AC6; COLOR: #fff; FLOAT: left; PADDING-BOTTOM: 2px; MARGIN: 0px 3px 0px 0px; PADDING-TOP: 3px;BORDER-LEFT: #6396D6 1px solid; BORDER-RIGHT: #6396D6 1px solid;PADDING-RIGHT: 5px; PADDING-LEFT: 5px; BORDER-TOP: #6396D6 1px solid;BORDER-BOTTOM: #6396D6 1px solid;
    }
    .pageNum A:visited {
        COLOR: #fff;
    }
    .pageNum A:hover {
         BACKGROUND: #F7FBFF;COLOR: #6396D6;BORDER-LEFT: #6396D6 1px solid; BORDER-RIGHT: #6396D6 1px solid;BORDER-TOP: #6396D6 1px solid;BORDER-BOTTOM: #6396D6 1px solid;
    }
    */


    #*********************************************************
    #下面两个类可以保存为一个文件
    #*********************************************************
    class yl_class_sys
    {
    #*********************************************************
    #数据列表类以对象方式
    #*********************************************************
    function list_info_main_obj($rs,$pagesize,$resultstr){
           $leftline0='<div class=\'info_list info_line\'><ul>';
           $list_info = $leftline0;
           $i = 0;
        while($rs = fetch_object($resultstr)){
            $yl_id = $rs -> yl_id;
            $yl_ttle = $rs->yl_title;
            $yl_adddate = $rs->yl_adddate;
            
            $list_info .= '<li>';
            $list_info .= '<span class=dater time>[';
            $list_info .= ''.$yl_adddate.'';
            $list_info .= ']</span>';
            $list_info .= ''.$yl_ttle.'';    
            $list_info .= '</li>';
         if (($i % 5) == 0) {
             $leftline1='</ul></div><div class=blank3></div>'.$leftline0.'';
         $list_info .= $leftline1;
         }
            $i++;
            if ($i > $pagesize)
            break;
            else
            continue;
        }
        $list_info .= '</ul></div>';
          return $this -> list_info_main_obj = $list_info;
    }
    #*********************************************************
    #分页导航
    #*********************************************************
    function list_page($pageurl,$rsnum,$pages,$pagecount,$pagesize){
       $pcount = $pages;
      
       $page_info = '<div class=pagenum>';
       $page_info .= '<div class=num>';
       if (($pcount > 1) && ($pcount == $pagecount) ){
              $page_info .= '<a href = '.$pageurl.'page='.intval($pagecount-1).'>上一页</a>';
       }elseif (($pagecount != 1) && ($pcount != $pagecount)){
             $page_info .= '<a href = '.$pageurl.'page='.intval($pagecount-1).'>上一页</a>';
       }
          $page_info .= '<a href = '.$pageurl.'page=1>页首</a>';
       if ($pagecount > 4){
            $page_info .= '<a href = '.$pageurl.'page=1>[1]</a><span class=dot>...</span>';
       }
       if ($pcount > $pagecount+2){
           $endpage = $pagecount+2;
       }else{
               $endpage = $pcount;
       }
       for ($n = ($pagecount-2); $n <= $endpage; $n++){
          if (!($n < 1)){
             if ($n == intval($pagecount)){
                         $page_info .= '<span class=normal>'.$n.'</span>';
                     }else{
                           $page_info .= '<a href = '.$pageurl.'page='.$n.'>['.$n.']</a>';
                     }
          }
       }
       if ($pagecount+2 < $pcount){
           $page_info .= '<span class=dot>...</span><a href='.$pageurl.'page='.$pcount.'>['.$pcount.']</a>';
       }
           $page_info .= '<a href = '.$pageurl.'page='.$pcount.'>页尾</a>';
       if (($pagecount == 1) && ($pcount != $pagecount) && ($pcount != 0)){
           $page_info .= '<a href = '.$pageurl.'page='.intval($pagecount + 1).'>下一页</a>';
       }else if (($pagecount != 1) && ($pcount != $pagecount)){
           $page_info .= '<a href = '.$pageurl.'page='.intval($pagecount + 1).'>下一页</a>';
       }
           $page_info .= '</div></div>';

       $page_info .= '<div class=pagenum>';
       $page_info .= '<div class=num><span class=normal> 共:'.$rsnum .'条/'.$pcount.'页 每页/'.$pagesize.'条</span></div>';
       $page_info .= ' <div class=num>';
       //echo '<form name=page action='.$pageurl.'>';
       $page_info .= ' 转到';
       $page_info .= '<input type=text name=page value=\'1\' class=login_left style=\'width:28px;height:18px;\'>';
       $page_info .= '页<input type=submit name=submit3 class=login_left style=\'width:28px;height:18px;padding-top:1px;\' onclick=document.myform.action.value=\'go\'> ';
       //echo '</form>';
       $page_info .= '</div>';
       $page_info .= '</div>';
      
          return $this -> list_page = $page_info;
    }

    }

    class yl_class{
    #*********************************************************
    #数据查询类
    #*********************************************************
    function list_select($type_functionname,$pageurl,$getpage,$pageumn,$selecttable,$selectwhere,$selectstr,$orderbystr,$yl_dbname)
    {      
    $yl_class_sys = new yl_class_sys();

         if ($pageumn == ''){
             $pageumn = 10;
         }
         if ($selecttable == ''){
             $selecttable='yl_info';
         }
         if ($selectstr == ''){
                $selectstr = '*';
       }
         if ($orderbystr == ''){
                $selectstr = 'yl_adddate desc';
       }
       $sqlsrt = 'select '.$selectstr.' from '.$selecttable.' '.$selectwhere.' order by '.$orderbystr.'';
       $resultstr = db_query($yl_dbname,$sqlsrt);
       if (!$resultstr){
            echo '很抱歉,查询失败.数据库可能在维护中,请稍后再试';
            echo '<a href=admin_article_list.php><font color=red>返回</font></a>';
       exit;
       }
          $rsnum = num_rows($resultstr);
       if ($rsnum == 0){
          echo '暂无数据';
         exit;
       }
       if ($getpage == ''){
          $pagecount = 1;
       }else{
          if (isset($getpage)){
                   $pagecount = intval($getpage);
              }
       }
          $pagesize = $pageumn;
            $pages = ceil($rsnum/$pagesize);

       if($rsnum != 0){
          data_seek($resultstr,(($pagecount-1)*$pagesize));//移动内部结果指针
       }
       $list_selectstr = $yl_class_sys -> $type_functionname($rs,$pagesize,$resultstr);//数据列表
       $list_selectstr .= $yl_class_sys -> list_page($pageurl,$rsnum,$pages,$pagecount,$pagesize);//分页
       return $this -> list_select = $list_selectstr;
    }

    }


    ?>


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多