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'),
    ),

);
?>







      本文转自噼里啪啦啦 51CTO博客,原文链接:http://blog.51cto.com/pilipala/1651561如需转载请自行联系原作者





相关文章
|
1月前
|
XML 前端开发 数据格式
请描述如何使用`BeautifulSoup`或其他类似的库来解析 HTML 或 XML 数据。
【2月更文挑战第22天】【2月更文挑战第67篇】请描述如何使用`BeautifulSoup`或其他类似的库来解析 HTML 或 XML 数据。
|
1月前
|
存储 JSON Apache
揭秘 Variant 数据类型:灵活应对半结构化数据,JSON查询提速超 8 倍,存储空间节省 65%
在最新发布的阿里云数据库 SelectDB 的内核 Apache Doris 2.1 新版本中,我们引入了全新的数据类型 Variant,对半结构化数据分析能力进行了全面增强。无需提前在表结构中定义具体的列,彻底改变了 Doris 过去基于 String、JSONB 等行存类型的存储和查询方式。
揭秘 Variant 数据类型:灵活应对半结构化数据,JSON查询提速超 8 倍,存储空间节省 65%
|
1月前
|
XML JSON 前端开发
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(支持并行网关)
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(支持并行网关)
80 3
|
1月前
|
XML JSON 前端开发
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(简单支持发起人与审批人的流程)
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(简单支持发起人与审批人的流程)
67 2
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(简单支持发起人与审批人的流程)
|
1月前
|
XML 前端开发 数据格式
BeautifulSoup 是一个 Python 库,用于从 HTML 和 XML 文件中提取数据
【5月更文挑战第10天】BeautifulSoup 是 Python 的一个库,用于解析 HTML 和 XML 文件,即使在格式不规范的情况下也能有效工作。通过创建 BeautifulSoup 对象并使用方法如 find_all 和 get,可以方便地提取和查找文档中的信息。以下是一段示例代码,展示如何安装库、解析 HTML 数据以及打印段落、链接和特定类名的元素。BeautifulSoup 还支持更复杂的查询和文档修改功能。
35 1
|
1月前
|
XML 存储 JavaScript
html和xml
【4月更文挑战第10天】html和xml
16 1
|
3天前
|
XML 存储 前端开发
【前端】XML和HTML的区别详解
【前端】XML和HTML的区别详解
12 5
|
1月前
|
XML 机器学习/深度学习 JSON
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
40 0
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
|
20天前
|
XML JSON 前端开发
初学者指南:JSON 和 XML 的区别
当我们讨论数据交换格式时,JSON(JavaScript对象表示法)和 XML(可扩展标记语言)无疑是最受欢迎的两种选择。这两者各有优点和缺点,根据具体的应用场景,选择合适的格式可以显著提高开发效率和系统性能。
|
1月前
|
XML JSON 前端开发
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(排它条件网关)
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(排它条件网关)
23 3
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(排它条件网关)