我正在一个网站上分析我从几个远程仪表获得的能源数据。我正在使用JS,PHP和mySQL。我用一个客户的数据(特定类型和数量的远程仪表)开发了网站。这是我做的第一个网站,我有很多东西需要学习。
有以下步骤:
问题是获取AJAX POST的PHP文件(步骤4和步骤5结束)不会为每个客户端执行相同的计算。所以我不知道该怎么办,我有点迷茫。 我想:
这些解决方案对我来说似乎不太好(可能是第三种?)。你有什么主意吗?提前谢谢。
编辑php代码示例
第一位客户:
$reponse1 = $bdd->prepare("SELECT DATE_FORMAT(Date, '%H:%i') AS timekey, AVG(Value) FROM meter1 WHERE Date>='$from' AND Date<='$to' GROUP BY timekey");
$reponse1->execute();
$myArrayLP24temp1['Hour']= $reponse1->fetchAll(PDO::FETCH_COLUMN, 0);
$reponse1->execute();
$myArrayLP24temp1['Value']= $reponse1->fetchAll(PDO::FETCH_COLUMN, 1);
$reponse2 = $bdd->prepare("SELECT DATE_FORMAT(Date, '%H:%i')AS timekey, AVG(Value) FROM meter2 WHERE Date>='$from' AND Date<='$to' GROUP BY timekey");
$reponse2->execute();
$myArrayLP24temp2['Value']= $reponse2->fetchAll(PDO::FETCH_COLUMN, 1);
for ($ii=0; $ii<24*4; ++$ii){
$meter1NoRound=$myArrayLP24temp1['Value'][$ii]*4;
$meter2NoRound=$myArrayLP24temp2['Value'][$ii]*4;
$meter1=round($meter1NoRound,1);
$meter2=round($meter2NoRound,1);
$myArrayLP24['rows'][]= array('c' => array( array('v'=>$myArrayLP24temp1['Hour'][$ii]), array('v'=>($meter1)), array('v'=>($meter2))));
第二位客户:
$reponse1 = $bdd->prepare("SELECT DATE_FORMAT(Date, '%H:%i') AS timekey, AVG(Value) FROM meter1 WHERE Date>='$from' AND Date<='$to' GROUP BY timekey");
$reponse1->execute();
$myArrayLP24temp1['Hour']= $reponse1->fetchAll(PDO::FETCH_COLUMN, 0);
$reponse1->execute();
$myArrayLP24temp1['Value']= $reponse1->fetchAll(PDO::FETCH_COLUMN, 1);
for ($ii=0; $ii<24*4; ++$ii){
$meter1NoRound=$myArrayLP24temp1['Value'][$ii]*4;
$meter1=round($meter1NoRound,1);
$myArrayLP24['rows'][]= array('c' => array( array('v'=>$myArrayLP24temp1['Hour'][$ii]), array('v'=>($meter1))));
以上示例显示了两个不同的代码。第一个用于具有两米的客户端,第二个用于具有一米的客户端。它可能长达10米,有时会有亚米,有时我不得不加。因此,每个客户端的代码都是不同的(除了具有完全相同配置的客户端,但这种情况不会经常发生)。
答案 0 :(得分:0)
为什么不将变量值存储在数据库中? 然后,当客户端到来时,您将拥有所有需要的信息来进行计算。
认真思考,尽可能标准化。 永远不要忘记一个优秀的开发人员是一个懒惰的人; - )
修改强>
当你说:
“问题是获取AJAX POST的PHP文件(步骤4和步骤5结束)不会对每个客户端执行相同的计算。”
你是什么意思?
我理解你的问题的方式是第一种情况。 无论如何,对于这两种情况,都要在数据库中存储您需要的内容,并将其与客户端一起使用。
可能我不太清楚你需要什么。如果是,请发送一段代码来说明您的问题。