使用php 造json数据接口

做前端局限性略大,想要数据不能总等后台来实现,使用php比起来使用JAVA web 简便了很多。

0x00

配置好 php +mysql+apache环境的 电脑,建议chrome API调试插件(google Chrome 网上应用商店):apiDebug-API接口调试插件

因为和tomcat 占用了8080 区分 php的服务 是8000 端口,不是php coder,使用notepad++ ,参考一些 写了连接数据库 返回 数据json.

Apache的安装路径 ...Apache24\conf\httpd.conf中修改相关配置的,php 的DocumentRoot指向为 E:/WebRoot , Listen 改为8000

DocumentRoot "E:/WebRoot"

......//此处省略

在E:/WebRoot下新建文件夹api,作为接口路径,在api下新建两个php文件connect_config.php和getdata.php,如图:


使用php 造json数据接口_第1张图片
image.png

其中,connect_config.php是为了做数据库配置。使用SQLyog (或其他工具)查看本机的mysql 已有的数据库,如图,是world数据库的city表:


使用php 造json数据接口_第2张图片
image.png

用phpmyadmin 一样的直观

使用php 造json数据接口_第3张图片
image.png

当然也可以自己重新建库建表,道理是一样的。

在connect_config.php中代码:

 

数据库名要选择你要连接的数据库。
getdata.php就是主要写 方法处理,包括 连接 数据库 执行查询 json格式化数据 等。

所有代码:

 $status,
            'message' => $message,
            'data' => $data 
        );
        echo json_encode ( $result,JSON_UNESCAPED_UNICODE);
    }
?>  

很简单,注释也写得很清楚,当然这是都不考虑其他的写法,查询world数据库表中的前5条数据,先看一下执行结果,直接在浏览器中输入 localhost:8000/api/getdata.php

使用php 造json数据接口_第4张图片
image.png

这样看似乎不太直观,放入apidebug插件中:


使用php 造json数据接口_第5张图片
image.png

初步任务完成了,这只是取到数据了但是缺少交互,

0x01.添加get请求参数

在getdata 中修改添加:

$datanum=$_GET['datanum'];    

//查询语句 
$query = "select * from city  limit $datanum";

注意:只是做测试 没有做任何的数据校验!

测试:
直接写到url, 即把?datanum=5参数加到URL最后,多个参数用&连接。

使用php 造json数据接口_第6张图片
image.png

或者使用工具

使用php 造json数据接口_第7张图片
image.png

先选请求方式-get,在params 左侧key中添加 参数名右侧value中添加参数值。

0x02.添加post请求参数

修改一点点即可。

  $datanum=$_POST['datanum'];    

不添加任何参数请求试试?

使用php 造json数据接口_第8张图片
image.png

失败了,没有查出任何数据,使用post添加参数:先选定post方式 添加参数(注意名字一致)。


使用php 造json数据接口_第9张图片
image.png

0x03.分页查询

分页查询,实现分页加载怎么办?
要从sql 语法来下手

limit函数 limit关键字的用法:
LIMIT [offset,] rows
取前5条数据
select * from table_name limit 0,5
或者
select * from table_name limit 5
查询第11到第15条数据
select * from table_name limit 10,5

offset指定要返回的第一行的偏移量,rows第二个指定返回行的最大数目。初始行的偏移量是0(不是1)。

需要两个参数,一页的数量(偏移量),页码(计算起始值)。

可以这样写

  $datanum=$_POST['datanum'];    
  $pagenum=$_POST['pagenum']; 
  $startnum=intval($datanum)*intval($pagenum);//计算起始值
  //查询语句 
  $query = "select * from city  limit  $startnum,$datanum";

测试 一页7个页数是2 ,刚好结果是从第十五个。
这应该是第三页,不过目的达到了。。

使用php 造json数据接口_第10张图片
image.png

注意:所有数据都没有校验!!

这样子 就可以用自己造数据来访问了,使用同一局域网内手机浏览器测试下,win+X 输入 ipconfig 得到 ip地址:


使用php 造json数据接口_第11张图片
image.png

如图 本机ip192.168.4.146,
在手机上访问,做测试,改成直接获取:
浏览器输入192.168.4.146:8000/api/getdata.php

使用php 造json数据接口_第12张图片
image.png

注意:1.如果局域网 其他设备不能访问 很大程度上是因为 计算机开启了防火墙,关闭了就好。
2.访问出错,请检查 拼写中是否有空格,逗号分号引号是否用了中文符号。

然后可以愉快的自己 造数据调接口啦,至于增删改大同小异。

你可能感兴趣的:(使用php 造json数据接口)