站内搜索

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

原帖及讨论:http://bbs.bccn.net/thread-182585-1-1.html

*/ --------------------------------------------------------------------------------------
*/ 出自: 编程中国  http://www.bccn.net
*/ 作者: adleyliu    E-mail:adleyliu@163.com    QQ:14339095
*/ 时间: 2007-11-1  编程论坛首发
*/ 声明: 尊重作者劳动,转载请保留本段文字
*/ --------------------------------------------------------------------------------------

<?PHP
#*********************************************************
#文件名称: inc_funceion.php
#功能描述: 通用数据查询及分页函数模块
#程序制作:留印(adleyliu)
#联系qq  :14339095
#联系邮箱:adleyliu@163.com
#官方网站: http://www.115000.com.cn
#copyright (c) 2007-2008 oblog.cn all rights reserved.
#最后更新:     2007-10-30
#*********************************************************

#*********************************************************
#应用开始
#*********************************************************
   $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;
}

}


?>

 

 

  • 上一篇:PHP/MySQL三日通-第三天(一)
  • 下一篇:PHP 会话(session 时间设定)使用入门