PHP在发送3个post请求后执行某些操作

PHP在发送3个post请求后执行某些操作,php,json,post,Php,Json,Post,我正在做一个数据采集项目,其中3台设备将同步,以同时向web服务器发送post请求。因为来自这些设备的数据应该彼此具有相同的时间,所以我想等待3个post请求(来自3个设备)并创建一个JSON对象,其中包含来自这3个不同设备的数据 我该怎么做呢?谢谢你的帮助 用于创建随机数据的Javascript 这部分代码将在我按下按钮时执行 $.post('plot.php', {micro: "YUN3",acc: data_string3, gyro: gyro1, mag: mag1}, funct

我正在做一个数据采集项目,其中3台设备将同步,以同时向web服务器发送post请求。因为来自这些设备的数据应该彼此具有相同的时间,所以我想等待3个post请求(来自3个设备)并创建一个JSON对象,其中包含来自这3个不同设备的数据

我该怎么做呢?谢谢你的帮助


用于创建随机数据的Javascript 这部分代码将在我按下按钮时执行

$.post('plot.php', {micro: "YUN3",acc: data_string3, gyro: gyro1, mag: mag1}, function(data){

    //console.log("posted data: " + data_string3 + "/" + gyro1 + "/" + mag);
    x3=[];
    y3=[];
    z3=[];
    console.log(data);
});

$.post('plot.php', {micro: "YUN1",acc: data_string1, gyro: gyro2, mag: mag2}, function(data){

    //console.log("posted data: " + data_string1 + "/" + gyro2 + "/" + mag);
    x1=[];
    y1=[];
    z1=[];
    console.log(data);
});

$.post('plot.php', {micro: "YUN2",acc: data_string2, gyro: gyro3, mag: mag3}, function(data){

    //console.log("posted data: " + data_string2 + "/" + gyro3 + "/" + mag);
    x2=[];
    y2=[];
    z2=[];
    console.log(data);
});
plot.php


micro
键是我在命名数据来源时使用的,我想看看
YUN1,YUN2,YUN3
是否已经发布,然后我将从这3个不同的post请求生成一个JSON对象。

创建一个带有列的小数据库, 命名为“完成”

每次设备连接时,更新此信息,(添加1)

开始流程之前,请检查此“完成”==3(表示尝试了3次)


当“完成”==3时,您可以做任何您想做的事情,并确保在完成后将其重置为零,这样您就可以开始下一轮,或者您可以创建一个“完成”=0的新行,向我们显示您尝试了什么是创建3个不同的标志,每次存储从每个源接收的数据的状态。在你的接收端检查你是否收到了所有三个请求或者没有使用这些fag变量。您是否需要断开并重置标志变量(存储),然后再次监视标志变量。还有第二种方法,您可以将post请求存储在接收端的某个临时位置,并监视该位置。在获得所有三个后,您可以重置该post请求的临时存储,并执行业务逻辑。
<?php

$data = array();

if(isset($_POST["acc"], $_POST["gyro"], $_POST["mag"], $_POST["micro"]) === true) {
    $acc = $_POST["acc"];
    $gyro = $_POST["gyro"];
    $mag = $_POST["mag"];
    $gyro_array = explode(',',$gyro);
    $acc_array = explode(',',$acc);

    for($i=0; $i < sizeof($acc_array); $i++) {
        if($i < 49) {
            $data[] = array('acc_x' => $acc_array[$i], 'acc_y' => $acc_array[$i+50], 'acc_z' => $acc_array[$i+100],
                            'gyro_x' => null, 'gyro_y' => null, 'gyro_z' => null, 'mag' => null);
        } elseif ($i == 49) {
            $data[] = array('acc_x' => $acc_array[$i], 'acc_y' => $acc_array[$i+50], 'acc_z' => $acc_array[$i+100],
                            'gyro_x' => $gyro_array[0], 'gyro_y' => $gyro_array[1], 'gyro_z' => $gyro_array[2], 'mag' => $mag);
        }

    }


    //print_r($acc_array);
    echo json_encode($data);
}

?>