那估计不行,在没有绝对安全的情况下,还是不要泄漏自己的用户安全数据,一般都是只返回必要的信息,如果数据库共享,那直接给他们查询帐号就行了...所以,你需要做一个接受页面,然后和上面说的一样,API的雏形就是这样出来的,写出来的页面就和第三方调用差不多,首先判断权限,是否有使用API的权限,然后分析执行发送过来的命令,执行完返回结果,这就是传说中的API,具体的的话,你可以参考很多,就比如UC和DZ论坛的整合,就是使用的API的形式,你可以参考一下他的文件
最近在做微信公众平台测试时,想在里面子菜单上添加查询未来几天(包括今天)天气的功能,就查找了下好用的天气预报查询接口API,使用比较多的有:国家气象局天气接口、新浪天气预报接口、百度天气预报接口、google天气接口、Yahoo天气接口等等,我使用的是百度提供的免费天气查询接口API,下面与大家分享下...
①.、查询方式:
百度提供的是根据纬度和城市名查询天气情况
//城市名
$city?=?'上海';
//对json格式的字符串进行编码
$arr?=json_decode($str,TRUE);
print_r($atr);
$city = '上海';
//获取json格式的数据
$arr =json_decode($str,TRUE); ? ? ?
[plain] view plain copy print?
Array
(
[error]?=?0
[status]?=?success
[results]?=?Array
[0]?=?Array
[currentCity]=?上海
[weather_data]=?Array
[0]=?Array
[dayPictureUrl]?=
[nightPictureUrl]?=
[weather]?=?晴
)
[1]?=?Array
[date]=?周二
[nightPictureUrl]?=?
[weather]=?多云转阴
[date]=?周三
[weather]=?中雨转小雨
[date]=?周四
[weather]=?多云转晴
[error] = 0
[status] = success
[results] = Array
? ?(
? ? ? ?[0] = Array
? ? ? ? ? ?(
? ? ? ? ? ? ? ?[currentCity]= 上海
? ? ? ? ? ? ? ?[weather_data]= Array
? ? ? ? ? ? ? ? ? ?(
? ? ? ? ? ? ? ? ? ? ? ?[0]= Array
? ? ? ? ? ? ? ? ? ? ? ? ? ?(
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [dayPictureUrl] =
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [nightPictureUrl] =
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[weather] = 晴
? ? ? ? ? ? ? ? ? ? ? ? ? ?)
? ? ? ? ? ? ? ? ? ? ? ?[1] = Array
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[date]= 周二
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[weather]= 多云转阴
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[date]= 周三
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[weather]= 中雨转小雨
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[date]= 周四
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[nightPictureUrl] =
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[weather]= 多云转晴
? ? ? ? ? ? ? ? ? ?)
? ? ? ? ? ?)
? ?)
[php] view plain copy print?
php
$arr?=?json_decode($str,TRUE);
echo?"城市:".$arr['results'][0]['currentCity']."?日期:".$arr['date']."br?/br?/";
echo?"城市:".$arr['results'][0]['currentCity']."?日期:".$arr['date']."br?/br?/";
echo?"城市:".$arr['results'][0]['currentCity']."?日期:".$arr['date']."br?/br?/";
foreach($arr['results'][0]['weather_data']as?$val)
{
echo?$val['date']."br/";
echo?"天气:{$val['weather']}br/";
echo?"风向:{$val['wind']}br/";
echo?"温度:{$val['temperature']}br/br?/";
echo?"温度:{$val['temperature']}br/br?/";
echo?"温度:{$val['temperature']}br/br?/";
}
$arr = json_decode($str,TRUE); ? ? ?
echo "城市:".$arr['results'][0]['currentCity']." 日期:".$arr['date']."br /br /";
?echo "城市:".$arr['results'][0]['currentCity']." 日期:".$arr['date']."br /br /";
? ?echo "城市:".$arr['results'][0]['currentCity']." 日期:".$arr['date']."br /br /";
foreach($arr['results'][0]['weather_data']as $val)
? ?echo $val['date']."br/";
? ?echo "天气:{$val['weather']}br/";
? ?echo "风向:{$val['wind']}br/";
? ?echo "温度:{$val['temperature']}br/br /";
? ? ?echo "温度:{$val['temperature']}br/br /";
? ? ? ?echo "温度:{$val['temperature']}br/br /";
其实我觉得你的思路存在问题.首先,你不应该再存到自己的数据库中,因为航空公司那边的机票是实时变化的,你保存到自己的数据库后,如果你不是根据他那边的数据实时变化,那么你这边的数据就不准了.如果你要根据他那边的数据的变化再变化,那么你处理得很多,比如那边每卖一次、或退一次...可能还有其他可能 ,你都得进行处理,而这种情况就得像触发器才能合理,你总不能每秒去他那边取.
所以建议不用自己的数据库,既然是接口那你直接要到那边的接口,用什么查什么,总能保证数据是最正确的,因为毕竟是从他的数据库里读到的数据.如果他不能给你提供你所要的接口,那这种做法本身就实现不了.
两种比较简单的方法:
①.、使用curl
$url?=?"";
$ch?=?curl_init();
curl_setopt($ch,?CURLOPT_URL,?$url);
curl_setopt($ch,?CURLOPT_RETURNTRANSFER,?1);
$output?=?curl_exec($ch);
curl_close($ch);
echo?$output;
$output?=?file_get_contents($url);
以上就是土嘎嘎小编为大家整理的php通过接口查询数据相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!