【发布时间】:2013-02-23 20:37:24
【问题描述】:
试图从两个单独的 MySQL 选择创建一个多维数组时,我头疼不已……我一直在这里和谷歌搜索一整天,最终不得不承认失败并寻求帮助(我是新手也无济于事!!!)。
我有两个表,一个包含每个 id 的单行结果,另一个可以包含一个 id 的多行。我要做的是将两者组合成一个多维数组。
我的代码(尽管可能很糟糕)如下所示:
require 'php/phpConnection.php';
$sqlString1 = mysql_query("SELECT id FROM supportstaff_section1_a");
$firstArray = array();
$secondArray = array();
while ($r = mysql_fetch_assoc($sqlString1)) {
$applicantID = $r['id'];
$sqlString2 = mysql_query("SELECT educationalname FROM supportstaff_section5 WHERE id = '$applicantID'");
while ($x = mysql_fetch_assoc($sqlString2)) {
$secondArray[] = $x;
}
$firstArray[] = $r + $secondArray;
$secondArray = array();
}
print json_encode($firstArray);
mysql_close($con);
结果是这样的:
[{"id":"8m8wwy","0":{"educationalname":"GCSE - English"},"1":{"educationalname":"GCSE - Maths"}},{"id":"wiL7Bn"},{"id":"zAw6M1"}]
但我认为它需要看起来像这样:
[{"id":"8m8wwy","Array2":"[{"educationalname":"GCSE - English"},{"educationalname":"GCSE - Maths"}]"},{"id":"wiL7Bn"},{"id":"zAw6M1"}]
无论如何,如何将我的第二个 SQL Select 插入到每个 ID 的第一个 SQL Select 中。
感谢您的任何建议/帮助。
编辑
取自 W3Schools.com:
Array
(
[Griffin] => Array
(
[0] => Peter
[1] => Lois
[2] => Megan
)
[Quagmire] => Array
(
[0] => Glenn
)
[Brown] => Array
(
[0] => Cleveland
[1] => Loretta
[2] => Junior
)
)
我正在尝试让它像上面那样工作。
【问题讨论】:
-
第一个和第二个有什么区别 - 你能解释一下吗?
-
第一个表和第二个表之间的区别在于,第一个表将只包含每个 ID 的一行结果...例如 ID、名字、第二个名字等。第二个表可以每个 ID 包含多行...例如:ID-A, Exam Result 1 Some Center A, ID-A Exam Result 2 Some Centre B, ID-A Exam Result 3 Some Centre C etc
-
我认为你想要做的是一个 SQL 连接。顺便说一句,与未来相关的东西:Don't use
mysql_functions -
连接可以工作,但我不想使用连接,因为我认为多维数组会更好。我不会从表一中得到重复的结果,这些结果不需要多次。感谢您提供有关 mysql_ 函数的提示。