I'm Sham
一个在通往码农道路上走走停停的行政文员

PHP-用过类方法快速获取数据库数据

今天尝试去精简部分代码,因为开始接触类方法,于是就想着用过调用类方法来减少每个页获取数据库数据,大概思路代码如下:

假设这个一个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后让小程序获取的,无疑使用类方法后,能大大减少代码量。

赞(0) 赏杯咖啡!
未经允许不得转载:Sham@双目瞿 » PHP-用过类方法快速获取数据库数据

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

如果你觉得文章好,请赏1杯速溶咖啡给Sham吧!

微信扫一扫打赏