SqlHelper类怎么在php中使用

SqlHelper类怎么在php中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

文档目录结构如下:

SqlHelper类怎么在php中使用

SqlHelper.php代码如下:

<?php
/**
*CreatedbyJetBrainsPhpStorm.
*User:lee
*Date:13-7-26
*Time:下午8:30
*TochangethistemplateuseFile|Settings|FileTemplates.
*/
classSqlHelper{
private$mysqli;
privatestatic$host="localhost";
privatestatic$user="root";
privatestatic$pwd="";
privatestatic$db="world";
private$sql=false;
private$result=false;
function__construct(){
$this->mysqli=newMySQLi(self::$host,self::$user,self::$pwd,self::$db);
if($this->mysqli->connect_error){
die("连接数据库失败!".$this->mysql->connect_error);
}
$this->mysqli->query("setnamesutf8");
}
functionexecute_dql_all($sql){
//执行查询语句
$arr=array();
$this->result=$this->mysqli->query($sql)ordie($this->mysql->connect_error);
//将数据转存到$arr数组中
while($row=mysqli_fetch_array($this->result,MYSQL_BOTH)){
$arr[]=$row;
}
$this->result->free();
return$arr;
}
functionexecute_dql_num($sql){
//执行查询语句
$arr=array();
$this->result=$this->mysqli->query($sql)ordie($this->mysql->connect_error);
//将数据转存到$arr数组中
while($row=mysqli_fetch_array($this->result,MYSQLI_NUM)){
$arr[]=$row;
}
$this->result->free();
return$arr;
}
functionexecute_dql_assoc($sql){
//执行查询语句
$arr=array();
$this->result=$this->mysqli->query($sql)ordie($this->mysql->connect_error);
//将数据转存到$arr数组中
while($row=mysqli_fetch_array($this->result,MYSQLI_ASSOC)){
$arr[]=$row;
}
$this->result->free();
return$arr;
}
//查询某表中的记录数
functionexecute_dql_counts($table,$id="*"){
$this->sql="selectcount($id)from$table";
$this->result=$this->mysqli->query($this->sql);
$row=mysqli_fetch_all($this->result);
$this->result->free();
return$row[0][0];
}
functionexecute_dml($sql){
//执行正删改
$this->result=$this->mysqli->query($sql);
if(!$this->result){
return-1;//执行正删改失败
}else{
if($this->mysqli->affected_rows>0){
return1;//执行正删改成功,影响行数
}else{
return0;//执行正删改成功,但没有影响行数
}
}
}
}

Paging.php代码如下:

<?php
/**
*CreatedbyJetBrainsPhpStorm.
*User:lee
*Date:13-7-27
*Time:下午2:48
*TochangethistemplateuseFile|Settings|FileTemplates.
*/
header("Content-type:text/html;charset=utf-8;");
require_once("SqlHelper.php");
classPaging{
private$sqlHelper=false;
private$pageCount=false;//页数
private$counts=false;//总记录数
private$returnArr=false;//分页超链接的分页
function__construct(){
$this->sqlHelper=newSqlHelper();
$this->returnArr=array();
}
/*
*参数说明
*
*$table分页时对那个表的数据分页
*$id辅助查询当前分页的数据表的总记录数
*$pageSize每页显示多少条信息记录数
*$pagingSize分页栏每次循环显示出来的个数
*$nowPage当前是第几页,默认第一页
*$href分页栏的超链接将要往哪里连接
*/
functionpaging_prev_next($table,$id="*",$pageSize,$pagingSize,$nowPage=1,$href){
$this->counts=$this->sqlHelper->execute_dql_counts($table,$id);
$this->pageCount=ceil($this->counts/$pageSize);
$this->returnArr["count"]=$this->counts;
$this->returnArr["start"]=($nowPage-1)*$pageSize;
$this->returnArr["limit"]=$pageSize;
if($nowPage>$this->pageCount||$nowPage<=0){
returnfalse;
}
$t=(ceil($nowPage/$pagingSize)-1)*$pagingSize+1;
$pre=$nowPage-$pagingSize;
$nex=$nowPage+$pagingSize;
echo"
<spanclass='paging-list-apaging-list-a-withBg'>{$nowPage}/{$this->pageCount}</span>
<ahref='{$href}?nowPage={$pre}'class='paging-list-a'>&lt;</a>";
for($i=$t;$i<$t+$pagingSize;$i++){
if($i*$pageSize>$this->pageCount*$pageSize){
break;
}else{
if($nowPage==$i){
echo"
<ahref='{$href}?nowPage={$i}'class='paging-list-apaging-list-a-withBg'>{$i}</a>";
}else{
echo"
<ahref='{$href}?nowPage={$i}'class='paging-list-a'>{$i}</a>";
}
}
}
echo"
<ahref='{$href}?nowPage={$nex}'class='paging-list-a'>&gt;</a>";
return$this->returnArr;
}
}

paging-list-link.css代码如下:

/**
*CreatedbyJetBrainsPhpStorm.
*User:lee
*Date:13-7-27
*Time:下午5:56
*TochangethistemplateuseFile|Settings|FileTemplates.
*/
.paging-list-a{
border:1pxsolid#b5b5af;
background-color:#efebed;
font-family:'MeiryoUI';
font-size:16px;
font-weight:600;
padding:0px8px0px8px;
/*cursor:pointer;*/
text-decoration:none;
color:#292927;
}
.paging-list-a-withBg{
background-color:#1D92E2;
color:white;
}

usePaging.php代码如下:

<!DOCTYPEhtml>
<html>
<head>
<title></title>
<linkrel="stylesheet"type="text/css"href="paging-list-link.css">
</head>
<body>
<?php
header("Content-type:text/html;charset=utf-8;");
require_once'Paging.php';
$paging=newPaging();
//参数说明
/*
*$table分页时对那个表的数据分页
*$id辅助查询当前分页的数据表的总记录数
*$pageSize每页显示多少条信息记录数
*$pagingSize分页栏每次循环显示出来的个数
*$nowPage当前是第几页,默认第一页
*$href分页栏的超链接将要往哪里连接,当前页链接地址
*/
//控制起始页为
$nowPage=1;
if(isset($_GET["nowPage"])){
$nowPage=$_GET["nowPage"];
}
//定义分页所需参数
$meiyexiansi=10;
$meiyelianjieshu=10;
$receiveArr=array();
$receiveArr=$paging->paging_prev_next("city","ID",$meiyexiansi,$meiyelianjieshu,$nowPage,"usePaging.php");
//容错判断
if(!$receiveArr){
return;
}
//查询每页需要显示的数据,大小限制存在$receiveArr数组中
$sqlHelper=newSqlHelper();
$result=$sqlHelper->execute_dql_num("select*fromcitylimit".$receiveArr['start'].",".$receiveArr['limit']."");
echo"<pre>";
print_r($result);
echo"</pre>";
?>
</body>
</html>

所使用的数据库为 MySQL5.6 所自带的 world 数据库

下面是运行的效果截图:

不过代码还有个 Bug 。就是翻页到最后的时候会出现显示不了,原因在于 Paging.php 文件的 41~43 行左右判断有问题。

错误代码如下:

if($nowPage>$this->pageCount||$nowPage<=0){
returnfalse;
}

SqlHelper类怎么在php中使用

SqlHelper类怎么在php中使用

SqlHelper类怎么在php中使用

看完上述内容,你们掌握SqlHelper类怎么在php中使用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注恰卡编程网行业资讯频道,感谢各位的阅读!

发布于 2021-04-03 22:31:20
收藏
分享
海报
0 条评论
164
上一篇:如何在CakePHP框架中使用Model关联对象 下一篇:php中魔术方法的功能有哪些
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码