问题描述
我似乎无法正确地理解语法以遍历我的结果并将其插入到关联数组中—目前,这只是给我第一个结果,而没有遍历其余结果。我已经尝试过foreach等的多种组合,但是无法成功完成。
这是我的代码:
$count = array(
"timeinsert"=>"value","rfid"=>"value"
);
$readlags = "SELECT id_arduino,Device_id,time_inserted,message,message_type,LAG(message) OVER(PARTITION BY device_id ORDER BY time_inserted)
AS 'Previous Entry'
FROM Arduino_Data
WHERE Datediff(Curdate(),time_inserted) < $period AND Device_id = $device AND message != 2
GROUP BY time_inserted ASC";
$result = $conn->query($readlags);
if (!$result) {
echo $conn->error;
}
while ($row = mysqli_fetch_array($result)) {
$eventtime = $row['time_inserted'];
$message = $row['message'];
$message_type = $row['message_type'];
$previous = $row['Previous Entry'];
if ($previous != 'Broken' and $previous != null) {
$catid = "SELECT RFID_id
FROM Cat_User
WHERE RFID_id = $previous ";
$result1 = $conn->query($catid);
if (!$result1) {
echo $conn->error;
}
while ($row1 = mysqli_fetch_array($result1)) {
$cat_id = $row1['RFID_id'];
//echo $cat_id . '<br>';
}
}
if ($message == "Broken" && $message_type == "BreakBeam" && $previous==$cat_id) {
$count["timeinsert"] = $eventtime;
$count["rfid"]=$previous;
}
}
print_r($count);
这是输出:
Array
(
[timeinsert] => 2020-09-17 16:02:44
[rfid] => 5609
)
当我执行array_push时,结果如下:
Array
(
[0] => 2020-09-17 15:51:37
[1] => 23641
[2] => 2020-09-17 15:52:20
[3] => 5609
[4] => 2020-09-17 15:53:23
[5] => 5609
[6] => 2020-09-17 16:02:44
[7] => 5609
)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)