PHP使用mysql_fetch添加到多维数组

时间:2013-06-22 21:34:14

标签: php mysql multidimensional-array

我看过网络,但我能找到的是如何回显数组中的数据,但我需要添加它们。这个数组是多维的,所以我需要一直向数组添加一个数组。我该怎么做呢?

下面是代码:

<?php 
$data = array(
    "contacts" => array(
        array(
            'id'=> "1",
            'catagory'=> "LifeStyle",
            'title'=> "Some Cool Title",
            'url'=> "http://example.com",
        ),
    )
);

$sql = mysql_query("SELECT * FROM magazines WHERE category = '$cat'");
while($row = mysql_fetch_array($sql)){
    $id = $row["id"]; 
    $cat = $row["category"];
    $title = $row["title"];  
    $url = $row["url"];

    // add to array 
//  array(
//      'id'=> "$id",
//      'catagory'=> "$cat",
//      'title'=> "$title",
//      'url'=> "$url",
//  ),  
}
mysql_close();
echo json_encode($data);
?>

2 个答案:

答案 0 :(得分:1)

这样做......

while($row = mysql_fetch_array($sql)){

 $data['contacts'][] = $row;
}

或者这......

while($row = mysql_fetch_array($sql)){
 array_push($data['contacts'], $row);
}

然后print_r会显示你的数组......

print_r($data);

答案 1 :(得分:1)

而不是SELECT *只选择要推入数组的字段。像这样的东西

<?php
    $sql = mysql_query("SELECT id, category, title, url FROM magazines WHERE category = '$cat'");
    while($row = mysql_fetch_array($sql)){
        $data['contacts'][] = $row;
    }
?>