PHP + mysqli:将数组推入数组

时间:2013-07-18 20:51:52

标签: php arrays mysqli

我基本上需要创建一个这样的数组:http://pastebin.com/BAfRnTLz

我的数据库中有两个不同的表。一个用于项目,一个用于任务。每个任务都有一个列所属的项目ID。我需要创建一个多维数组,在其中查看与项目ID相关的每个任务ID,并将该任务附加到正确项目的数组中。

我担心我会走错方向。我一直试图让这项工作连续两天(在此非常新)。很感谢任何形式的帮助!提前谢谢!

到目前为止我有这个

$projects = $mysqli->query("SELECT projectID, projectName FROM projects WHERE userID = '".$userID."'");
while (($row = $projects->fetch_assoc()) !== null) {
print_r($row);

$projectID = $row['projectID'];
$tasks = $mysqli->query("SELECT * FROM tasks WHERE projectID = '".$projectID."'");
while (($row = $tasks->fetch_assoc()) !== null) {
    print_r($row);
}

1 个答案:

答案 0 :(得分:0)

连接更适合这种情况,但你可以将它们拼接在一起,假设你没有在项目中有一个名为tasks的字段。

$p = array();

$projects = $mysqli->query("SELECT projectID, projectName FROM projects WHERE userID = '".$userID."'");
while (($row = $projects->fetch_assoc()) !== null) {
    $p[$row['projectID']] = $row;
}

$projectID = $row['projectID'];
$tasks = $mysqli->query("SELECT * FROM tasks WHERE projectID = '".$projectID."'");
while (($row = $tasks->fetch_assoc()) !== null) {
    $p[$row['projectID']]['tasks'][] = $row;
}

print_r($p);