php工具类

<?php
    //该类是个工具类 是完成对数据库的操作

   class SqlHelper{
        //定义连接的变量
        public $conn;
        public $host="localhost";
        public $user="root";
        public $password="root";
        public $dbname="empmanage";
        //定义一个构造方法
        public function __construct(){
                //1.得到连接
                $this->conn=mysql_connect($this->host,$this->user,$this->password);
                //判断连接是否成功
                if(!$this->conn){
                        die("连接失败".mysql_error());
                }
                //2.选择数据库
           mysql_select_db($this->dbname,$this->conn) or die(mysql_error());
                //3.设置访问数据库的编码方式
        mysql_query("set names utf8");
        }
        //在这定义一个方法用来分页的 分页函数需要传递3个参数2个sql一个分页对象
        //sql1是用来查找$rowPage就是有多少条数据 还
    //sql2是用来你要查找的数据 select * from emp limit 0,3;
     public function excute_dql_fenye($sql1,$sql2,$fenyePage){
            //得到我们要的数据
            $res1=mysql_query($sql1,$this->conn) or die(mysql_error());
            //输出我们的数据 由于是一条不要while
            if($row=mysql_fetch_row($res1)){
                    $fenyePage->rowCount=$row[0];
                    $fenyePage->pageCount=ceil($row[0]/$fenyePage->pageSize);
            }
            //释放资源
            mysql_free_result($res1);
            //通过sql2得到的结果集
            $res2=mysql_query($sql2,$this->conn) or die(mysql_error());
            //定义一个数组来接收结果集
            $arr=array();
            while($row=mysql_fetch_assoc($res2)){
                    $arr[]=$row;
            }
            //释放资源

            mysql_free_result($res2);
            //把arr中的数据传入到$fenyePage->res_arrary中
            $fenyePage->res_array=$arr;
            //把导航信息封装到fenyePage中
            //设置上下页
            $navigate="";
                if($fenyePage->pageNow>1){
                        //说明有上一页
                        $prepage=$fenyePage->pageNow-1;
                        $navigate="<a href='{$fenyePage->gotoUrl}?pageNow=$prepage'>上一页</a> ";
                }
                if($fenyePage->pageNow<$fenyePage->pageCount){
                        //说明还有下一页
                        $nextpage=$fenyePage->pageNow+1;
                        $navigate.="<a href='{$fenyePage->gotoUrl}?pageNow=$nextpage'>下一页</a> ";
                }
                //这里用一个for循环打印
                //要打印1-10 0*10+1 要用一个数学函数代替 11-20 floor(($pageNow-1)/10)*10+1
                $page_whole=10;
                $start=floor(($fenyePage->pageNow-1)/$page_whole)*$page_whole+1;
                $index=$start;
                //当1-10页时就没有这个翻页的链接
                if($fenyePage->pageNow>$page_whole){
                   $navigate.= "<a href='{$fenyePage->gotoUrl}?pageNow=".($start-1)."'><<</a>  ";
                }
                for(;$start<$index+$page_whole;$start++){
                        $navigate.= "<a href='{$fenyePage->gotoUrl}?pageNow=$start'>[$start]</a>";
                }
        
                $navigate.= "<a href='{$fenyePage->gotoUrl}?pageNow=$start'>  >></a>  ";
                $navigate.= "现在是{$fenyePage->pageNow}页/总共{$fenyePage->pageCount}页";
                $fenyePage->navigate=$navigate;
            }
                //定义一个执行dql语句的方法
                public function excute_dql($sql){
                        //得到结果集
                        $res=mysql_query($sql,$this->conn) or die(mysql_error());
                        // 返回结果集
                        return $res;
                }
                //定义一个二维数组用于存放结果集
                public function excute_dql2($sql){
                        //定义一个数组
                        $arr=array();
                        $res=mysql_query($sql,$this->conn) or die(mysql_error());
                        //把结果集放入到二维数组中去
                        $i=0;
                        while($row=mysql_fetch_assoc($res)){
                                $arr[]=$row;
                                $i++;
                        }
                        //这里就可以关闭资源 因为资源都放在数组里面了 所以这资源就不需要了
                        mysql_free_result($res);
                        return $arr;
                }
                //定义一个执行dml语句的方法
                public function excute_dml($sql){
                        //得到一个布尔值
                        $b=mysql_query($sql,$this->conn) or die(mysql_error());
                        //判断语句是否执行成功 这里有三种情况
                        if(!$b){
                                //执行没有成功
                                return 0;
                        } else{
                                if(mysql_affected_rows($this->conn)>0){
                                        //说明影响行数 执行成功
                                        return 1;
                                }else{
                                        return 2;//没有影响行数
                                }
                        }
                }
                //定义一个关闭连接的方法
                public function close_connect(){
                        if(!empty($this->conn)){
                                //如果连接不为空 就关闭
                                mysql_close($this->conn);
                }
        }
}
?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值