phpfans留言版用到的数据操作类和分页类

所属分类: 网络编程 / PHP编程 阅读数: 707
收藏 0 赞 0 分享

复制代码 代码如下:
class mysql{     
    function connect($dbhost, $dbuser, $dbpw, $dbname = '',$dbcharset='') {     
        if(!@mysql_connect($dbhost, $dbuser, $dbpw)) { 
            $this->show('Can not connect to MySQL server'); 
        }     
        if($dbname) { 
            $this->select_db($dbname); 
        } 
        if($this->version() > '4.1') { 
            if($dbcharset) {             
                 $this->query("SET NAMES '".$dbcharset."'");     
            } 
        } 
    } 

    function select_db($dbname) { 
        return mysql_select_db($dbname); 
    } 

    function fetch_array($query, $result_type = MYSQL_ASSOC) { 
        return @mysql_fetch_array($query, $result_type); 
    } 

    function query($sql, $type = '') { 
        if(!($query = mysql_query($sql))) $this->show('MySQL Query Error', $sql); 
        return $query;         
    } 

    function affected_rows() { 
        return mysql_affected_rows(); 
    } 

    function result($query, $row) { 
        return mysql_result($query, $row); 
    } 

    function num_rows($query) { 
        return @mysql_num_rows($query); 
    } 

    function num_fields($query) { 
        return mysql_num_fields($query); 
    } 

    function free_result($query) { 
        return mysql_free_result($query); 
    } 

    function insert_id() { 
        return mysql_insert_id();         
    } 

    function fetch_row($query) { 
        return mysql_fetch_row($query); 
    } 

    function version() { 
        return mysql_get_server_info(); 
    } 

    function close() { 
        return mysql_close(); 
    } 

    function show($message = '', $sql = '') { 
        if(!$sql) echo $message; 
        else echo $message.'<br>'.$sql; 
    } 


class page extends mysql{ 
    function pagination($sql,$maxnum,$page,$maxpages,$pagepre,$ext=''){ 
        global $sum,$stail,$link,$lmid,$ltail,$curpage;//$ext='&class=3' 
        $SELF = $_SERVER['PHP_SELF']; 

        $query = $this->query($sql); 
        $rows = $this->fetch_array($query,MYSQL_NUM); 
        $totalrows = $rows[0]; 

        $totalpages = ceil($totalrows/$maxnum);     
        $startnum = ($page - 1)*$maxnum;     
        $string = $sum.$totalrows.$stail.$sum.$page."/".$totalpages.$stail;  

        if($page != 1){ 
            $string .= $link.$SELF."?page=1".$ext.$lmid."|&lsaquo;".$ltail; 
            $string .=  $link.$SELF.'?page='.($page - 1).$ext.$lmid."&lsaquo;&lsaquo;".$ltail; 
        } 

        if($maxpages>=$totalpages){ 
            $pgstart = 1;$pgend = $totalpages; 
        } 
        elseif(($page-$pagepre-1+$maxpages)>$totalpages){ 
            $pgstart = $totalpages - $maxpages + 1; 
            $pgend = $totalpages; 
        } 
        else{ 
            $pgstart=(($page<=$pagepre)?1:($page-$pagepre)); 
            $pgend=(($pgstart==1)?$maxpages:($pgstart+$maxpages-1)); 
        } 

        for($pg=$pgstart;$pg<=$pgend;$pg++){  
            if($pg == $page){ 
                $string .=  $curpage.$SELF."?page=".$pg.$ext.$lmid.$pg.$ltail; 
            } 
            else $string .=  $link.$SELF."?page=".$pg.$ext.$lmid.$pg.$ltail; 
        } 

        if($page != $totalpages){ 
            $string .=  $link.$SELF.'?page='.($page + 1).$ext.$lmid."&rsaquo;&rsaquo;".$ltail; 
            $string .=  $link.$SELF.'?page='.$totalpages.$ext.$lmid."&rsaquo;|".$ltail; 
        } 
    return $string; 
    } 


function html($str){ 
    $str = get_magic_quotes_gpc()?$str:addslashes($str); 
    return $str; 


function dehtml($str){ 
    $str = nl2br(stripslashes($str)); 
    return $str; 


function deip($str){ 
    $arr = explode('.',$str); 
    $str = $arr[0].'.'.$arr[1].'.'.$arr[2].'.*'; 
    return $str; 
}

更多精彩内容其他人还在看

浅析PHP 中move_uploaded_file 上传中文文件名失败

这篇文章主要介绍了PHP 中move_uploaded_file 上传中文文件名失败的原因分析及解决方法 ,需要的朋友可以参考下
收藏 0 赞 0 分享

CentOS7编译安装php7.1的教程详解

这篇文章主要介绍了CentOS7编译安装php7.1的教程详解,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP信号处理机制的操作代码讲解

在本篇文章里小编给大家分享了关于PHP信号处理机制的操作的相关知识点内容,需要的朋友们学习下。
收藏 0 赞 0 分享

ThinkPHP3.2.3框架邮件发送功能图文实例详解

这篇文章主要介绍了ThinkPHP3.2.3框架邮件发送功能,结合图文与实例形式详细分析了基于thinkPHP框架进行邮件发送的相关原理、配置及操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

一文掌握PHP Xdebug 本地与远程调试(小结)

这篇文章主要介绍了一文掌握PHP Xdebug 本地与远程调试(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Laravel路由研究之domain解决多域名问题的方法示例

这篇文章主要介绍了Laravel 路由研究之domain解决多域名问题的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

PHP设计模式之策略模式原理与用法实例分析

这篇文章主要介绍了PHP设计模式之策略模式原理与用法,结合实例形式较为详细的分析了策略模式的概念、原理及php实现与使用策略模式的相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

php使用lua+redis实现限流,计数器模式,令牌桶模式

这篇文章主要介绍了php使用lua+redis实现限流,计数器模式,令牌桶模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Laravel多域名下字段验证的方法

这篇文章主要给大家介绍了关于Laravel多域名下字段验证的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Laravel具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

PHP中quotemeta()函数的用法讲解

今天小编就为大家分享一篇关于PHP中quotemeta()函数的用法讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享
查看更多