gpt4 book ai didi

PHP 和 Mysql 查询 JSON 输出

转载 作者:行者123 更新时间:2023-11-29 10:23:41 25 4
gpt4 key购买 nike

我在 MySQL 数据库中有一个表,我尝试创建该表以使其能够存储的信息更加灵活。这个想法是,大量的测试信息被放入这个表中,然后我可以查询该表并输出到 PHP 中以对数据进行分析。

表架构如下;idraw_data(自动递增)条目日期(日期时间)传感器 ID(整数)测试 ID(整数)测试值( double )

我还使用另外两个表,它们链接到 SensorID 和 Test_ID。其中一个列出了特定传感器的位置和信息(例如分配给谁),另一个表格包括测试信息,例如测试测量的内容、单位、上限和下限等。

所以我有一个 join 语句正在工作,它可以让我以日期、办公 table 、测试名称和按周一至周五(上午 9 点 - 下午 5 点)过滤的值的形式获取数据,这是下面的查询;

SELECT raw_data.entry_date, SensorID.Desk, tests.testname, raw_data.test_value FROM raw_data INNER JOIN sensorID ON raw_data.sensorID = SensorID.Sensor INNER JOIN tests ON raw_data.test_id = tests.testid WHERE WEEKDAY(raw_data.entry_date) BETWEEN 0 AND 4 AND HOUR(raw_data.entry_date) BETWEEN 9 AND 17;

我可以使用 PHP 查询并获取数据库输出,然后使用 json_encode 将其放入 JSON 字符串中,然后输入到图形包 amcharts 中,但我遇到的问题是如何格式化数据以使其更可用.

是否有人能够向我展示如何格式化 mysql 输出,以便随后能够获得类似的 json 模式,该模式提供日期和时间,然后动态提供测量类型和值,

例如日期,{地点; locationname, [testa:testaname_value, testbname;testbvalue}} 还是有更好的方法来输出它以便于绘图?

非常感谢!

最佳答案

在这种情况下,我通常做的是从 MySQL 获取原始数据并对其进行循环,构建一个新数组,然后将其转换为 JSON 并用于绘图。

例如:

$db_data = RAW_DATA_FROM_MYSQL_ARRAY;
$data_for_graph = [];

foreach ($db_data as $item){

$data_for_graph[$item['entry_date']] = [
'location' => $item['location_name'],
'testa' => $item['testaname_value'],
'results' => [
'test_a' => $item['test_a_val'],
'test_b' => $item['test_b_val'],
],
// etc... construct this as you like..
];
}

$data_for_graph_json = json_encode($data_for_graph);

// now do stuff with the graphs

希望这有帮助!

更新

根据 OP 请求添加了嵌套数组结构。

关于PHP 和 Mysql 查询 JSON 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48739064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com