2014-02-15 44 views
0

目前我运行的是抓取一些第三方API数据的网站,该数据抓取货币价格将其保存为“msg.data.closing_price.value”,然后允许我通过创建本地价格与其他产品进行比较字符串是这样的:将jQuery保存到数据库?

$('#dollar-price').html('Ð' +Math.round10 (1/msg.data.closing_price.value, -2)); 

我正在寻找一种方法能够采取的jQuery的输出上面添加一个时间戳,把它扔进一个数据库,以便以后我可以添加一些历史数据,但我还没有成功找到一种方法,至少有一个我明白

作为一个真正的新开发者谁挣扎着甚至让jQuery首先我完全丧失,可以使用推向正确的方向!

+0

您可以使用ajax将数据更新到数据库。如果你使用谷歌,你会发现很多关于这个的教程。 –

回答

1

你不能在jQuery中这样做 - 至少不是这样。你所能做的就是值,并将其发送给一些PHP端脚本可以做你想做的:

$.post("/path/to/script", { price: msg.data.closing_price.value }); 

,并在脚本 - 后一些合适的输入检查 -

$price = $_POST['price']; 
if (is_numeric($price)) { 
    // some range checks maybe 

    // Insert into database proper. PDO recommended. 
    insertRows($table, array(
     'price' => (float)$price; 
    )); 
} 

的时间戳可以由数据库使用适当的数据类型和默认值(DEFAULT CURRENT_TIMESTAMP)自动添加,或者您可以使用time()或任何合适的函数自己获取。注意时区,永远不要相信客户发送的数据。

真的应该做的是检查第三方API,看看它是如何调用的,它返回的是什么。您可以使用Firebug或Chrome WebDev来执行此操作。假设这是一个简单的POST调用/othersite/pricelist/productCode,那么你需要做的就是在服务器上使用cURL(或者甚至可能是file_get_contents($url);,如果它是GET调用)重新实现呼叫;客户不需要进入这一点。使用cron作业然后,您也可以在无需用户干预的情况下定期保存数据,使用RRDPHP等绘制它们等等。