PHP通过气象局开放API查询指定城市(区县)天气
2015-02-02 00:00
507 查看
具体应用说不上,写这个功能纯粹为了好玩,可能在网站的小挂件里没准能用上这样的功能,或者一些生活类网站比较适用,在正式进入本话题之前,必须要通过PHP将JSON格式省市(区)二级数据插入数据库,才能进行接下来的天气查询操作,所谓巧妇难为无米之炊,斯理也。在完成省市信息入库之后,理一下实现思路:前台通过搜索框执行ajax请求,后台根据城市名称查询城市编码,然后通过城市编码组装成API接口获取该城市天气信息,返回到前台,其实还是很简单的,代码如下:
1.前台代码 weather.php:
2.后台代码 getweather.php:
3.效果演示:
1.前台代码 weather.php:
<script type="text/javascript" src="/uploads/201502/02/14228784541.js"> </script> <input type="text" id="city_name" name="city"/> <button id="query" onclick="queryWeather();">查询</button> <div id="show"> </div> <script type="text/javascript"> function queryWeather(){ $.post('getweather.php', {city: $("#city_name").val()}, function(data) { //optional stuff to do after success var weather = data.weatherinfo.weather1; var temp = data.weatherinfo.temp1; $("#show").html(weather+","+temp); },'json'); } </script>
2.后台代码 getweather.php:
<?php if (isset($_POST['city'])) { $city = $_POST['city']; //通过城市名称获取城市ID $pdo = new PDO('mysql:host=localhost;dbname=test;charset=utf8','root','root'); $stmt = $pdo->prepare('SELECT id FROM city WHERE name=:name'); $stmt->bindParam(':name',$city); $stmt->execute(); $cid = $stmt->fetchColumn(); //通过城市ID获取城市天气详情 $api = "http://m.weather.com.cn/data/".$cid.".html"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $api); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.1 Safari/537.11'); $ret = curl_exec($ch); curl_close($ch); //返回获取json格式结果 echo $ret; }else{ echo '请输入要查询的城市名!'; } ?>
3.效果演示:
相关文章推荐
- axis2通过城市名称调用.net写的asmx WebService查询天气实例
- PHP微信开发之查询城市天气
- PHP微信开发之查询城市天气
- axis2通过城市名称调用.net写的asmx WebService查询天气实例 .
- WebServicel通过城市名查询天气
- flex调用webservices查询中国城市天气返回的是数组类型
- 通过Calendar控件指定日期实现数据查询
- Android使用"中国天气网"API数据通过城市名称获取天气情况
- 关于Excel的查询,可以通过格式查询(比如查找指定颜色的单元格)。
- php通过数组存取mysql查询语句的返回值
- php中通过数组进行高效随机抽取指定条记录的算法
- 通过IP查询客户端用户所在地的天气预报
- java调用webservice获取指定城市天气情况的例子
- 全球主要城市实时天气查询
- 用JSON和XML方法解析查询城市的天气情况
- 【SQL】通过Sql实现根据分组合并指定列内容的查询 SamWang
- 获取指定城市代码的城市天气
- PHP - Manual手册 - 函数参考 - PHP Options&Information - PHP选项与信息 - extension_loaded查询是否加载指定的扩展
- mongodb+php通过_id查询
- Android通过PHP连接MySQL(传值查询)