SqlHelper.class.php+分页类方法
时间:2021-07-01 10:21:17
帮助过:8人阅读
<?
php
2 class SqlHelper{
3 private $conn;
4 private static $host="localhost"
;
5 private static $user="root"
;
6 private static $password=""
;
7 private static $db="emp"
;
8 //构造函数 完成初始化的任务
9 public function __construct(){
10 $this->conn=
new mysqli(self::
$host,self::
$user,self::
$password,self::
$db);
11 if (
$this->conn->
connect_error){
12 die("连接失败".
$this->conn->
connect_error);
13
14 }
15 $this->conn->query("set names utf8"
);
16
17 }
18
19
20
21 //执行dql查询语句
22 public function execut_dql(
$sql){
23 $res=
$this->conn->query(
$sql) or
24 die(‘sql语句错误‘.
$this->conn->
error);
25
26 //关闭连接
27 $this->conn->
close();
28
29 return $res;
30 //释放资源
31 $res->
free();
32
33 }
34 //执行dml语句
35 public function execut_dml(
$sql){
36
37 //操作$sql
38 $res=
$this->conn->query(
$sql) or
die("sql语句错误".
$this->conn->
error);
39
40
41 if (!
$res){
42 return 0;
//操作失败
43 }
else{
44 if(
$this->conn->affected_rows>0
){
45 return 1;
//操作成功
46 }
else {
47 return 2;
//没有受影响的行数
48 }
49
50
51
52 }
53 //关闭连接
54 $this->conn->
close();
55 //释放资源
56 $res->
free();
57
58 }
59 public function execut_dql2(
$id){
60 $res=
$this->conn->query(
$id) or
die("sql语句错误".
$this->conn->
error);;
61 //查询的结果放进数组中
62 $emps=
array();
63
64 while(
$row=
$res->
fetch_assoc()){
65 $emps[]=
$row;
66
67 }
68
69 //关闭资源
70 $res->
free();
71 //关闭连接
72 $this->conn->
close();
73 return $emps;
74 }
75 //执行分页的的sql语句,并赋值给fenyepage类
76 public function execut_dql_fenye(
$sql1,
$sql2,
$fenyePage){
77 //执行要查询的语句 $res1返回一个结果集
78 $res1=
$this->conn->query(
$sql1) or
die("sql语句错误".
$this->conn->
error);
79 //用数组接收取出的值
80 $arr=
array();
81 //取出结果集每一行,转移到数组中
82 while (
$row=
$res1->
fetch_assoc()){
83 $arr[]=
$row;
84 }
85 //释放资源
86 $res1->
free();
87
88 $fenyePage->arr=
$arr;
89
90 $res2=
$this->conn->query(
$sql2) or
die("sql语句错误".
$this->conn->
error);
91
92 $count=
$res2->
fetch_assoc();
93 $rowCount=
$count[‘c‘
];
94
95 $fenyePage->rowCount=
$rowCount;
96 $fenyePage->pageCount=
ceil(
$rowCount/
$fenyePage->
pageSize);
97 //释放资源
98 $res2->
free();
99 //关闭连接
100 $this->conn->
close();
101 //如果点击当前页大于1使用当前页-1,小于使用1
102 $prev=
$fenyePage->pageNow>1 ?
$fenyePage->pageNow-1:1
;
103 //如果点击当前页小于总页,当前页加一,否则取总页
104 $next=
$fenyePage->pageNow<
$fenyePage->pageCount ?
$fenyePage->pageNow+1:
$fenyePage->
pageCount;
105
106 $pageMix=
$fenyePage->pageNow-
$fenyePage->pageSpa<1 ? 1:
$fenyePage->pageNow-
$fenyePage->
pageSpa;
107 $pageMax=
$fenyePage->pageNow+
$fenyePage->pageSpa-1<10 ? 10:
$fenyePage->pageNow+
$fenyePage->pageSpa-1
;
108 $pageMaxd=
$pageMax>
$fenyePage->pageCount?
$fenyePage->pageCount:
$pageMax;
109 //首页
110 $fenyePage->naviga="<a href=‘
$fenyePage->url?pageNow=1‘>首页</a> "
;
111 //快速翻页,如果点击的页面小于10,隐藏
112 if(
$fenyePage->pageNow>10
){
113 $fenyePage->naviga.="<a href=‘
$fenyePage->url?pageNow=".(
$pageMix-5)."‘><<</a> "
;
114 }
115 if(
$fenyePage->pageNow!=1
){
116
117 //页面不等于1显示页面,否则不显示上一页
118
119 $fenyePage->naviga.= "<a href=‘
$fenyePage->url?pageNow=
$prev‘>上一页</a> "
;
120 }
121
122
123 for(
$pageMix;
$pageMix<=
$pageMaxd;
$pageMix++
){
124
125 $fenyePage->naviga.="<a href=‘
$fenyePage->url?pageNow=
$pageMix‘>
$pageMix</a> "
;
126
127 }
128 if(
$fenyePage->pageNow <
$fenyePage->
pageCount){
129 $fenyePage->naviga.="<a href=‘
$fenyePage->url?pageNow=
$next‘>下一页</a> "
;
130 }
131 if(
$fenyePage->pageNow+5<
$fenyePage->
pageCount){
132 $fenyePage->naviga.="<a href=‘
$fenyePage->url?pageNow=".(
$pageMaxd+
$fenyePage->pageSpa+1)."‘>>></a> "
;
133 }
134 $fenyePage->naviga.="<a href=‘
$fenyePage->url?pageNow=
$fenyePage->pageCount‘>末页</a> "
;
135 $fenyePage->naviga.="当前第{
$fenyePage->pageNow}页/总共{
$fenyePage->pageCount}页<br/><br/>"
;
136 }
137
138
139 }
140 ?>
SqlHelper.class.php+分页类方法
标签:const 返回 接收 div 查询 utf8 没有 ons 点击