【发布时间】:2014-08-20 08:34:53
【问题描述】:
是否可以选择一些表并将它们推送到多维数组中?
(我正在使用PDO fetch_all)
或者我必须做几个选择?
表格
TABLE xxx
id | xxx | aaa | bbb | ccc
---------------------
1 | 666 | 111 | 222 | 333
2 | 777 | 444 | 555 | 666
TABLE positions
xxx | yyy | zzz
----------------
666 | 999 | 000
666 | 888 | 111
777 | 999 | 000
777 | 888 | 222
777 | 777 | 333
--^ //forenerkey from table xxx
我想要实现的是
Array
(
[0] => Array
(
[id] => 1
[aaa] => 111
[bbb] => 222
[ccc] => 333
[xxx] => 666
[positions] => Array(
[0] => Array(
[xxx] => 666
[yyy] => 999
[zzz] => 000
)
[1] => Array(
[xxx] => 666
[yyy] => 888
[zzz] => 111
)
)
)
[1] => Array
(
[id] => 2
[aaa] => 222
[bbb] => 333
[ccc] => 444
[xxx] => 777
[positions] => Array(
[0] => Array(
[xxx] => 777
[yyy] => 999
[zzz] => 000
)
[1] => Array(
[xxx] => 777
[yyy] => 888
[zzz] => 222
)
[2] => Array(
[xxx] => 777
[yyy] => 777
[zzz] => 333
)
)
)
)
ATM 我这样选择
select * from xxx x, position p where x.xxx=p.xxx
但结果并不如我所愿。顺便说一句,我什至不知道这在 mysql 结果中应该是什么样子^^。必须做很多后续工作才能使阵列最终像我想要的那样。实际上我已经完成了所有工作,但我真的很想缩小我的来源:D
【问题讨论】:
-
这是怎么来的?
positions[1] => Array([xxx] => 777, [yyy] => 999, [zzz] => 000 ) -
它没有,这是我想要实现的 :) atm 我有严格的选择并用 php 构建这个数组。这只是一个示例数组
-
但我认为第二个数组是
[666,888,111]而不是[777,999,000] -
你是对的,这是一个错字。我已经改变了。但正如我所说,它只是一个示例:)