PHP通用数据查询及分页函数模块
2011-04-22 00:41
411 查看
PHP通用数据查询及分页函数模块。
http://tech.ddvip.com/2008-10/122422917279044_2.html
<?PHP #********************************************************* #文件名称: inc_funceion.php #功能描述: 通用数据查询及分页函数模块 #程序制作:留印(adleyliu) #联系qq :14339095 #联系邮箱:adleyliu@163.com #官方网站: http://www.115000.com.cn #copyright (c) 2007-2008 115000.com.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; } } ?>
12下一页
补充:如果使用MYSQL数据库
<?PHP
function connect($yl_host,$yl_user,$yl_pass) {
return @mysql_connect($yl_host,$yl_user,$yl_pass);
}
function select_db($dbname,$yl_conn) {
return @mysql_select_db($dbname,$yl_conn);
}
function db_query($dbname,$sqlstr) {
return @mysql_db_query($dbname,$sqlstr);
}
function fetch_array($query, $result_type = MYSQL_ASSOC) {
return mysql_fetch_array($query, $result_type);
}
function fetch_object($query, $result_type = MYSQL_ASSOC) {
return mysql_fetch_object($query, $result_type);
}
function num_rows($query) {
$query = mysql_num_rows($query);
return $query;
}
function num_fields($query) {
return mysql_num_fields($query);
}
function data_seek($query,$size) {
//这里可能出现问题,
//可以直接使用:mysql_data_seek($resultstr,(($pagecount-1)*$pagesize));//移动内部结果指针
return $data_seek = mysql_data_seek($query,$size);
}
function free_result($query) {
return mysql_free_result($query);
}
function fetch_fields($query) {
return mysql_fetch_field($query);
}
?>
相关文章推荐
- 【discuzX2】/source/function/function_forum.php论坛模块通用函数集合分析
- php简单实现查询数据库返回json数据(返回json数据函数实例)
- 通用数据库jsp分页查询模块
- Linq通用分页数据查询方法
- 【discuzX2】/source/function/function_forum.php论坛模块通用函数集合分析
- php -- php读取sqlserver2005的数据实现分页查询
- 记录一下PHP数组数据分页的方法 array_slice() 函数的使用
- php按条件查询的数据分页显示,点击下一页时又列出全部数据的解决办法
- php利用数组函数,查询并删除数据库多列重复数据
- 适合千万数据查询分页操作的一个通用存储过程
- PHP通用的分页组件(分页加绑定数据)
- php 模糊查询数据库的技巧,以及数据分页原理, Date转换
- PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
- php实现通用的从数据库表读取数据到数组的函数实例
- PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
- php数据库——查询分页数据
- php中如何分页显示查询数据结果
- 海量数据库的查询优化及分页算法方案(二)-实现小数据量和海量数据的通用分页显示存储过程 [转]
- row_number()函数--查询第20条到第30条数据-分页查询
- 数据分析中非常实用的自编函数和代码模块整理