天气数据是通过采集中国气象网站的
本来中国天气网站也给出了数据的API接口
接下来为大家介绍下用php来写一个天气预报的模块
感兴趣的朋友可以参考下
用php来写一个天气预报的模块
天气数据是通过采集中国气象网站的本来中国天气网站也给出了数据的API接口以下是API的地址返回的数据格式为json格式
URL中的数字”“是城市代码所以可以先列出每个城市的城市代码然后php程序接收到了城市代码再去组装URL在通过URL来显示该城市的实时天气
indexphp
复制代码 代码如下:
<?php
header("Content
Type:text/html;charset=utf
");
?>
<html>
<meta http
equiv="Content
Type" content="text/html;charset=utf
" />
<head>
<title>weather forecast</title>
<script type="text/javascript" src="ajax
js"></script>
<script type="text/javascript">
function $(id){
return document
getElementById(id);
}
function getCityId(){
var http_request=createAjax();
var url="weatherforecast
php"
var data="cityid="+$("cityId")
value;
("post"
url
true);
("Content
type"
"application/x
www
form
urlencoded");
(data);
function getWetherInfo(){
if{
var info=http_request
responseText;
$("weatherinfo")
innerHTML=info;
}
}
}
</script>
</head>
<body>
<select name="cityId" onchange="getCityId();" id="cityId">
<option>
请选择城市
</option>
<option value="
">北京</option>
<option value="
">上海</option>
<option value="
">天津</option>
<option value="
">重庆</option>
<option value="
">广州</option>
</select>
<span id="weatherinfo"></span>
</body>
</html>
weatherforecastphp
复制代码 代码如下:
<?php
header("ContentType:text/html;charset=utf");
header("CacheControl:nocache");
if (isset($_POST[cityid])){
$cityid=$_POST[cityid];
$url=$url="$cityid"html";
}else {
$url="";
}
$weatherInfo_json=file_get_contents($url);
$weatherInfo=json_decode($weatherInfo_jsontrue);
$cityName=$weatherInfo[weatherinfo][city];
$cityTemp=$weatherInfo[weatherinfo][temp];
$cityWd=$weatherInfo[weatherinfo][WD];
$cityWs=$weatherInfo[weatherinfo][WS];
$cityTime=$weatherInfo[weatherinfo][time];
$citySD=$weatherInfo[weatherinfo][SD];
echo $weatherinfo="城市名字$cityName气温$cityTemp风向$cityWd";
?>