gpt4 book ai didi

php - 制作一个多维数组php mysql

转载 作者:行者123 更新时间:2023-11-30 22:05:28 24 4
gpt4 key购买 nike

我链接我的最后一个问题来解释我需要

obtain results of two different tables mysql

这是我的 mysql 查询的结果。

date       | rate  | percent

2017-01-06 500 0
2017-01-07 500 0.10
2017-01-07 500 0.15

我如何制作这个数组,我正在用 php 进行测试,但我不能这样做,我可以用一维数组来做,但不能用这样的多维数组

Array
(
[1] => Array
(
[0] => Array
(
[date] => 2017-01-06
[rate]=>500
[percent] => 0.00
)

[1] => Array
(
[date] => 2017-01-07
[rate]=>500
[percent] => 0.10
)
[2] => Array
(
[0] => Array
(
[date] => 2017-01-06
[rate]=>500
[percent] => 0.00
)

[1] => Array
(
[date] => 2017-01-07
[rate]=>500
[percent] => 0.15
)

)
)

最佳答案

这是(如果我理解问题的话)为每个日期提取 MAX() 和 MIN() 百分比值的问题。为此,您必须使用 GROUP BY。

SELECT s.date, s.rate, MAX(p.percent) AS maxperc, MIN(p.percent) AS minperc
FROM stock s
LEFT JOIN promotions p ON s.date = p.date
WHERE s.date BETWEEN '2017-01-29' AND '2017-01-31'
GROUP BY s.date,s.rate;

...我还没有测试过,所以它可能需要一些摆弄。

然后当您遍历结果集时,您可以声明两个单独的子数组并构建完整的数组。

$array=[];
$i=0;
while($row=mysqli_fetch_assoc($result)){
$array[0][$i]["date"]=$row["date"];
$array[0][$i]["rate"]=$row["rate"];
$array[0][$i]["perc"]=$row["minperc"];
$array[1][$i]["date"]=$row["date"];
$array[1][$i]["rate"]=$row["rate"];
$array[1][$i]["perc"]=$row["maxperc"];
++$i;
}

至此,我对您的目的/用途做出了太多假设。基本上,将零设置为默认百分比,查询每个日期率对的最高和最低百分比(如果为零,则零将显示为最高和最低值)。对结果集做任何你想做的事。

关于php - 制作一个多维数组php mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41916273/

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