使用PHP+ajax实时显示下面这里的行情数据

我需要完整的源码,我只有100分,如果OK,我100分全部给您。谢谢啦数据文件:http://market.huobi.com/staticmarket/detail.h... 我需要完整的源码,我只有100分,如果OK,我100分全部给您。谢谢啦
数据文件:
http://market.huobi.com/staticmarket/detail.html
数据格式(json):
amount: 63165 //成交量
level: 86.999 //涨幅
buys: Array[10] //买10
p_high: 4410 //最高
p_last: 4275 //收盘价
p_low: 4250 //最低
p_new: 4362 //最新
p_open: 4275 //开盘
sells: Array[10] //卖10
top_buy: Array[5] //买5
top_sell: Object //卖5
total: 273542407.24361 //总量(人民币)
trades: Array[15] //实时成交

==================================
如果麻烦就请帮我显示一个数据p_new,也就是最新价格就好了,其他的我自己会参照相同的方法添加
==================================
说明:请用PHP+ajax方法实时显示,我用file_get_contents方法获取总会时不时卡住,也不知道啥原因,如果您有好的方法解决这个问题,希望您能在源码中一并解决。万分感激。只有100分家当,全部献上。
展开
 我来答
cyan24
2014-02-21 · TA获得超过1626个赞
知道小有建树答主
回答量:1128
采纳率:0%
帮助的人:878万
展开全部
其实这跟AJAX无关,
AJAX也是需要一个类似点了按钮触发它去调取数据这样子,
你如果想要时时刷新,相当于原页面每变动一次,你这边页面也跟着变动对吧,
如果用PHP做,只能定时查询了,每隔多长时间主动查询一次,
每次查询完保存信息,完了,下次查询时比对与上次查询的信息是否有变化,
如果有变化则显示在你的目标页上,
以上,有问题请追问,
更多追问追答
追问
请问能否提供源码,万分感谢。全家当的分数献上哈
追答
<?php 
header('content-type:text/html;charset=utf-8');
$op = isset($_POST['op']) ? $_POST['op'] : '';
if ($op == 'getdata') {
    $url = "http://market.huobi.com/staticmarket/detail.html";
    $content = file_get_contents($url);
    $content = str_replace("view_detail(", "[", $content);
    $content = str_replace(")", "]", $content);
    
    echo $content;
    //$data = json_decode($content, true);
    exit;
}
?>
<div id="abc"></div>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script>
setInterval("test()",2000);
function test() {
    $.ajax({
        type: "POST",
        url: "answer.php",
        timeout: 60000,
        async: true,
        data: "op=getdata",
        success: function(data, textStatus) {    
            $("#abc").html(data);
        }
    });
}
</script>

将代码保存到本地,命名为answer.php,因为AJAX取数据的地址就是answer.php,

然后本地环境运行,

至于显示出来的代码结构,你自己调整下,

因为没太看懂你要的是什么结构,

总之,这块是实现了,每隔2秒去自动查询信息并显示,

以上,

万山数据
2024-11-14 广告
实时数仓处理是我们北京万山数据科技有限公司数据处理能力的核心之一。它基于先进的流处理技术,能够实时捕获、处理和分析海量数据,确保数据的时效性和准确性。通过构建高效的实时数据管道,我们能够实现数据的即时入库与查询,为业务决策提供强有力的支持。... 点击进入详情页
本回答由万山数据提供
西风fly7
2014-02-21
知道答主
回答量:20
采纳率:0%
帮助的人:5.5万
展开全部
用一下jquery就非常简单了。
js端:
$.ajax({ url: "ShowData.php",
data:json,//你的json
dataType:"text",
type: "POST",
success: function (json) {
result = json;
},
}});

php端:
$p_new = $_POST ["p_new"];
echo $p_new;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-02-21
展开全部
<?php
// 使用CURL对象访问此页面。
$curl = curl_init('http://market.huobi.com/staticmarket/detail.html');
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$resp = curl_exec($curl);
$body = substr($resp, 12, -1);
$body = @json_decode($body);
if (is_object($body)) {
    $data = array();
    $sells = $body->sells;
    foreach ($sells as $sell) {
        $data[] = array('amount' => $sell->amount);
    }
    echo json_encode($data);
} else {
    echo '获取数据失败';
}
更多追问追答
追问
我测试了下,没有办法实时显示,请问有没有办法改进
追答

PHP只负责获取数据,实时更新有两种:

  1. PULL方式:ajax拉取更新,非真正实时

  2. PUSH方式,使用websocket,需要开发服务端,TCP长连接,耗时长,实时性高。

但无论哪种方式,PHP与实时没有关系,它实现的只是完成数据获取的作用。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式