今天尝试去精简部分代码,因为开始接触类方法,于是就想着用过调用类方法来减少每个页获取数据库数据,大概思路代码如下:
假设这个一个class.php文件
<?php
class GETData{ //定义一个类
public function getlist($sql){ //定义类方法,通过$sql来获取
$json = '';
$data = [];
$lists = [];
include('dbcon.php'); //链接数据库
$res = $con->query($sql); //执行sql语句
while($row = mysqli_fetch_array($res)){
foreach($row as $key => $value){ //循环获取
if(!is_numeric($key)){ //通过判断key不为数字时,获取到的就是对应数据库表中的字段名
$data[$key]=$value;
}
}
$lists[] = $data;
}
return $lists; //返回lists二维数组
}
}
?>
然后在需要的页面获取使用就可以了,代码如下:
<?php
include_once("class.php");
$sql1 = "这里写mysql的select语句";
$getdata = new GETData();
$listjson1 = json_encode($getdata -> getlist($sql1)); //转换成json数据
//下面是如果需要对数组中某个数据进行修改时的代码(这里以对图片地址进行操作为例)
$sql2 = "这里写mysql的select语句";
$lists = $getdata -> getlist($sql2);
for($i=0;$i<count($lists);$i++){ //循环得到的二维数组
if($lists[$i]['photos']!==""){ //当数组中photos不为空时
$photos = explode(',',($lists[$i]['photos'])); //获取photos字符串数据并转成数组
$lists[$i]['photos'] = $photos; //重新赋值
}
$listjson2 = json_encode($lists);
echo "{".'"list1":'. $listjson1.',' .'"list2"'.":".$listjson2."}";
?>
可能1个2个sql语句看不出来,但是如果有很多文件需要通过select语句来获取数据库数据,转换成json后让小程序获取的,无疑使用类方法后,能大大减少代码量。
评论前必须登录!
注册