Tp3.2 RESTFul 根据地区查询生成xml、html、json的Api接口的天气信息

1、在控制器页面:

<?php
// 本类由系统自动生成,仅供测试用途
namespace Home\Controller;
use Think\Controller\RestController;
class IndexController extends RestController{
    //显示页面
    public function index(){
       //print_r($this->_method);die;
        $Name = $_GET[‘data‘];
        if(!preg_match("/^[A-Za-z]+$/",$Name)){
            echo "输入有误";die;
        }
        if(__EXT__ == ‘‘){
            $type="html";
        }else{
            $type=__EXT__;
        }
        switch ($this->_method){   
            case ‘get‘: // get请求处理代码          
            if (__EXT__ == ‘html‘){
                $html = $this->sel($Name);
                $this->response($html,‘html‘);
                //echo "html";
            }elseif(__EXT__  == ‘xml‘){ 
                $xml = $this->sel($Name);
                $this->response($xml,‘xml‘);
                
            }elseif(__EXT__  == ‘json‘){
                $json = $this->sel($Name);
                $this->response($json,‘json‘);
            }           
            break;
            case ‘put‘: // put请求处理代码          
            break;      
            case ‘post‘: // post请求处理代码           
            break;     
        }   
    }
    public function sel($name){
        //print_r($name);die;
        $sheng = M(‘sheng‘);  //实例化表
        $city = M(‘city‘);
        $xian = M(‘xian‘);
        if($name=="china"){
            $data=$sheng->select();
            return $data;
        }else{
            $s_id =$sheng->getfieldbypyname($name,‘id‘);  //获取查询省id
            //print_r($s_id);die;
            //判断获取省id是否为空,如果不为空查询获取省的下级的关联id的相关数据
            if(!$s_id==""){
                $c_id[‘p_id‘]=$s_id;    
                $datas = $city->where($c_id)->select(); 
                //print_r($datas);die;
                return $datas;
            }else{
                $city_id =$city->getfieldbypyname($name,‘id‘); //获取市id  getFieldBy 根据字段查询并返回某个字段的值 例如,getFieldByName 
                //print_r($city_id);die;
                if(!$city_id==""){
                    $x_id[‘p_id‘]=$city_id;
                    $data1 = $xian->where($x_id)->select();
                    //print_r($data1);
                    return $data1;
                }else{
                    $xian_id = $city_id =$xian->getfieldbypyname($name,‘id‘);
                    //print_r($xian_id);die;
                    if(!$xian_id==""){
                        $cx_id[‘id‘]=$xian_id;
                        //print_r($cx_id);die;
                        $data2 = $xian->where($cx_id)->select();
                        //print_r($data2);die;
                        return $data2;
                    }else{
                        echo "没有该地区!";
                    }
                }
            }
        }
    }
}

2、配置文件:

<?php
return array(
    //‘配置项‘=>‘配置值‘
/* 数据库设置 */
    ‘DB_TYPE‘               => ‘mysql‘,     // 数据库类型
    ‘DB_HOST‘               => ‘127.0.0.1‘, // 服务器地址
    ‘DB_NAME‘               => ‘news‘,          // 数据库名
    ‘DB_USER‘               => ‘root‘,      // 用户名
    ‘DB_PWD‘                => ‘‘,          // 密码
    ‘DB_PORT‘               => ‘3306‘,        // 端口

    ‘URL_ROUTER_ON‘   => true, //开启路由
    ‘URL_ROUTE_RULES‘=>array(    
         ‘Index/:data‘ => array(‘Index/index‘, ‘status=1‘),
    ),

);
?>
时间: 2024-11-08 19:42:48

Tp3.2 RESTFul 根据地区查询生成xml、html、json的Api接口的天气信息的相关文章

JSP动态生成XML、json例子

动态生成Xml例子 jsp文件: <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2"> <jsp:directive.page import="java.text.*" /> <jsp:directive.page import="java.lang.*" /> <jsp:directive.page con

根据中国气象局提供的API接口实现天气查询

中国气象局提供了三个天气查询的API接口: [1]http://www.weather.com.cn/data/sk/101190101.html [2]http://www.weather.com.cn/data/cityinfo/101190101.html [3]http://m.weather.com.cn/data/101190101.html 以json格式返回数据,第一和第二个接口返回当天实时的天气数据,第三个返回未来五天天气情况. 其中地址里的加粗显示的数字表示城市的代码:101

php xml和json数据产生接口

<span style="font-size:18px;">/** * 返回结果集 * * @param mixed $info 返回的有效数据集或是错误说明 * @param string $msg 为空或是错误类型代号 * @param string $result 请求成功或是失败的标识 * @param int $post 1为xml方式,2为json方式 * */ function getData($info, $msg = '', $post, $result

在线生成二维码的API接口

现在很多大网站都有这样的一个功能,使用手机扫描一下网页上的二维码便可快速在手机上访问网站.想要实现这样的功能其实很简单,下面麦布分享几个在线生成网址二维码的API接口.都是采用http协议接口,无需下载安装什么软件,可简单方便地引用,这才是最简单.最便捷的免费网址二维码生成工具. 在线生成网址二维码的API接口: 1.http://pan.baidu.com/share/qrcode?w=150&h=150&url=http://www.yhrc8.com 2.http://b.bshar

PHP调用API接口实现天气查询功能

天气预报查询接口API,在这里我使用的是国家气象局天气预报接口 使用较多的还有:新浪天气预报接口.百度天气预报接口.google天气接口.Yahoo天气接口等等. 1.查询方式 根据地名查询各城市天气情况 2.请求URL地址http://route.showapi.com/9-2 3.接口参数说明: 一.系统级参数(所有接入点都需要的参数): 二.应用级参数(每个接入点有自己的参数): 4.返回参数 以JSON格式返回结果 1)系统级参数(所有接入点都会返回的参数) 2)应用级参数(系统级输出参

将数据库中查询的结果转换为json, 然后调用接口的方式返回json

调用接口,无非也就是打开链接 读取流 将结果以流的形式输出 将查询结果以json返回,无非就是将查询到的结果转换成jsonObject ============================================================= /***     * 将从数据中取到的结果以json的格式返回     *      * @param response     * @throws IOException     */    @RequestMapping(value =

微信小程序+OLAMI(欧拉蜜)自然语言API接口制作智能查询工具--快递、聊天、日历等

微信小程序最近比较热门,再加上自然语义理解也越来越被人关注,于是我想赶赶潮流,做一个小程序试试.想来想去快递查询应该是一种比较普遍的需求. 如果你也在通过自然语言接口做点什么,希望我的这篇博客能帮到你.我建了一个QQ群656580961,感兴趣的朋友可以加入互通有无.或者你也可以直接下载代码试一试. 用微信扫描下面的二维码可以直接测试小程序 也可以通过关注下面的公众号,点解工具使用小程序 ----------------功能介绍: 我的小程序名字叫"智能生活宝"------------

2020最新的新浪短网址API接口分享-防封短网址如何生成分享

在短信,微信,微博,等等各大营销平台中我们都能看到http://t.cn/xxxx样式的新浪短链接,这种超短链接很好的满足了营销中要求链接简洁,美观,专业的特性,而且通过短网址包装后的链接对外发布也起到了防封的效果.那么新浪t.cn短链接如何生成呢?网址缩短API接口如何调用?今天我就给大家分享一下.   新浪t.cn短网址API接口: http://qingmeidwz.cn/shorten.php?url_long=http://www.baidu.com   微信url.cn短网址API接

应用SQLServer For XML 生成XML避免在C# 拼字符串

最近在Review代码时,有一个功能是 查询数据库中一列,然后生成像 <rootelements>      <col>a</col>      <col>b</col>       <col>c</col> </rootelements> 开发人员查用的方法是,返回一个结果集,然后用循环的方法拼成这个字符串.然后再解析成XML 其实从05以后SQLServer对XML的支持大大增强.我们可以使用下面这一行SQ