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

);
?>









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章