【发布时间】:2017-06-14 21:39:14
【问题描述】:
我在一家酒店预订系统工作,房价是每晚。 我的数据库有两个表,一个称为 stock,另一个称为 Promotions。第一个包含一天(365 天)的一行,最后一个仅包含折扣百分比的天。有时,某些日子有两个或更多不同百分比的折扣。在这种情况下,1 月 30 日和 31 日有 0.10 和 0.15。
桌子库存
date | rate
--------------------------
2017-01-29 500
2017-01-30 500
2017-01-31 500
餐桌促销
date | percent
--------------------------
2017-01-30 0.10
2017-01-31 0.10
2017-01-30 0.15
2017-01-31 0.15
当一个 mysql 查询 (SELECT s.date, s.rate, IFNULL(p.percent, 0) FROM stock s LEFT JOIN Promotions p ON s.date = p.date WHERE s.date as date BETWEEN '2017-01-29' AND '2017-01-31') 我得到这个结果:
date | rate | percent
-----------------------------------
2017-01-29 500 0
2017-01-30 500 0.10
2017-01-31 500 0.10
2017-01-30 500 0.15
2017-01-31 500 0.15
我需要创建一个多维数组,其中每个折扣百分比包含一个数组,这些数组包含三天,第 29 天,百分比为 0.00,另外两天为 0.10。第 29 天一个新的,百分比为 0.00,另外两天为 0.15。我正在尝试,但我无法在两个数组中分配第 29 天。
Array
(
[1] => Array
(
[0] => Array
(
[date] => 2017-01-29
[rate]=>500
[percent] => 0.00
)
[1] => Array
(
[date] => 2017-01-30
[rate]=>500
[percent] => 0.10
)
[2] => Array
(
[date] => 2017-01-31
[rate]=>500
[percent] => 0.10
)
)
[2] => Array
(
[0] => Array
(
[date] => 2017-01-29
[rate]=>500
[percent] => 0.00
)
[1] => Array
(
[date] => 2017-01-30
[rate]=>500
[percent] => 0.15
)
[2] => Array
(
[date] => 2017-01-31
[rate]=>500
[percent] => 0.15
)
)
)
【问题讨论】:
-
你能展示一下你的 SQL 查询和一个表,它应该是什么样子的吗?
-
是的,对不起,我写了查询。
-
你能提供你的代码吗?所以说你不能在两个数组中分配第 29 天。你如何构建你的数组?
标签: php mysql arrays multidimensional-array