2013-06-22 64 views
-1

我在網上看過,但我能找到的是如何從數組中回顯數據,但我需要添加到它們。這個數組是多維的,所以我需要一直向數組添加一個數組。我該怎麼做呢?PHP使用mysql_fetch添加到多維數組

繼承人的代碼:

<?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); 
?> 
+1

'$ data ['contacts'] [] = $ row''就是你所需要的。 –

回答

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

而不是在做SELECT *只選擇您想要推入陣列的字段。像這樣的東西

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