header("Content-type:text/html;charset=utf-8");
//http://www.weektest.com/20160907/app.php?type_id=1&key=4eca43cd572620f7b40b34f40174740a&type=jsonp?callblack=?
//接值
$type_id=$_GET['type_id'];
$callblack=isset($_GET['callblack'])?$_GET['callblack']:"";
$key=$_GET['key'];
$type=isset($_GET['type'])?$_GET['type']:"json";
/**接口地址:http://www.weektest.com/20160907/app.php
支持格式:json/xml
请求方式:get
请求示例:http://www.weektest.com/20160907/app.php/type_id=1&key=您申请的KEY&type=xml;
请求参数说明:
名称 类型 必填 说明
type_id int Y 文章类型id,如:"1",
key string Y 你申请的key
返回参数说明:
名称 类型 说明
id int 文章id
title varchar 标题
content varchar 内容
json返回数据
{
"data":[{
"id":"1",
"title":"易建联返航NBA",
"content":"易建联与湖人队正式签约,新赛季重返NBA...."}
,{"id":"2",
"title":"梦之队里约夺冠?",
"content":"对于对手来说梦12队依然不可战胜...."},
{"id":"3",
"title":"火箭休赛期报告",
"content":"痛定思痛之后,火箭休赛期对阵容进行了大幅调整...."},
{"id":"4",
"title":"易建联返航NBA",
"content":"易建联与湖人队正式签约,新赛季重返NBA...."}],
"resultcode":"200",
"reason":"查询成功"}
xml返回数据
<news>
<new>
<id>1</id>
<title>易建联返航NBA</title>
<content>易建联与湖人队正式签约,新赛季重返NBA....</content>
</new>
<new>
<id>2</id>
<title>梦之队里约夺冠?</title>
<content>对于对手来说梦12队依然不可战胜....</content>
</new>
<new>
<id>3</id>
<title>火箭休赛期报告</title>
<content>痛定思痛之后,火箭休赛期对阵容进行了大幅调整....</content>
</new>
<new>
<id>4</id>
<title>易建联返航NBA</title>
<content>易建联与湖人队正式签约,新赛季重返NBA....</content>
</new>
<new>
<id>5</id>
<title>梦之队里约夺冠?</title>
<content>对于对手来说梦12队依然不可战胜....</content>
</new>
</news>
**/
$app_key=md5("nba".$type_id);
if($key!=$app_key){
$data['resultcode']=401;
$str=json_encode($data);
echo $callblack."(".$str.")";exit;
}else{
$pdo=new PDO("mysql:host=localhost;dbname=day",'root','root');
$pdo->query("set names utf8");
$re=$pdo->query("SELECT id,title,content FROM nba WHERE type_id=$type_id ");
$data['data']=$re->fetchAll(PDO::FETCH_ASSOC);
//var_dump($data);exit;
if($type=="xml"){
header("Content-type:text/xml;charset=utf-8");
echo '<?xml version="1.0" encoding="utf-8"?>';
echo "<news>";
foreach($data['data'] as $v){
echo "<new>";
echo "<id>{$v['id']}</id>";
echo "<title><![CDATA[{$v['title']}]]></title>";
echo "<content>{$v['content']}</content>";
echo "</new>";
}
echo "</news>";
}elseif($type=="jsonp"){
$callblack=$_GET['callblack'];
//echo $callblack;
// $str=json_encode($data);
// echo $callblack."(".$str.")";
if(!empty($data['data'])){
$data['resultcode']="200";
$data['reason']="查询成功";
if ( version_compare( PHP_VERSION,'5.4.0','<'))
{
$str = json_encode($data);
$str = preg_replace_callback(
"#\\\u([0-9a-f]{4})#i",
function( $matchs)
{
return iconv('UCS-2BE', 'UTF-8', pack('H4', $matchs[1]));
},
$str
);
echo $callblack."(".$str.")";
// echo ($str) ;
}
else
{
echo json_encode($data,JSON_UNESCAPED_UNICODE);
}
}else{
$data['resultcode']=401;
$str=json_encode($data);
echo $callblack."(".$str.")";exit;
}
}else{
if(!empty($data['data'])){
$data['resultcode']="200";
$data['reason']="查询成功";
if ( version_compare( PHP_VERSION,'5.4.0','<'))
{
$str = json_encode($data);
$str = preg_replace_callback(
"#\\\u([0-9a-f]{4})#i",
function( $matchs)
{
return iconv('UCS-2BE', 'UTF-8', pack('H4', $matchs[1]));
},
$str
);
echo ($str) ;
}
else
{
echo json_encode($data,JSON_UNESCAPED_UNICODE);
}
}else{
$data['resultcode']=400;
echo json_encode($data);
}
}
}
?>
/**************************************************************************************html页面****************************************************************
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>文章接口</title>
<script type="text/javascript" src="jquery-2.1.1.min.js"></script>
</head>
<body>
请输入文章分类id
<input type="text"><br/>
请输入key
<input type="text" size="30"><br/>
<button>搜索</button>
<div id="box"></div>
</body>
<script type="text/javascript">
$(function(){
$("button").click(function(){
var type_id=$("input").eq(0).val();
var key=$("input").eq(1).val();
//alert(type_id+key);
var url="http://www.weektest.com/20160907/app.php?type_id="+type_id+"&key="+key+"&type=jsonp&callblack=?";
var str="";
//alert(url)
$.get(url,function(msg){
//alert(msg)
if(msg['resultcode']==200){
str+="<table border='1'><tr><th>文章id</th><th>文章标题</th><th>文章内容</th></tr>";
for(var i=0;i<msg['data'].length;i++){
str+="<tr><td>"+msg['data'][i]['id']+"</td>";
str+="<td>"+msg['data'][i]['title']+"</td>";
str+="<td>"+msg['data'][i]['content']+"</td></tr>";
}
str+="</table>";
$("#box").html(str);
}else if(msg['resultcode']==401){
alert("请输入正确的key");
}else{
alert("您输入的文章类型id不正确或文章类型不存在")
}
},'jsonp')
})
})
</script>
</html>