-1

私はウェブを見てきましたが、私が見つけることができるのは、配列からデータをエコーする方法だけですが、それらに追加する必要があります。この配列は多次元であるため、常に配列に配列を追加する必要があります。どうすればいいですか?

コードは次のとおりです。

<?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);
?>
4

2 に答える 2

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);
于 2013-06-22T21:41:39.373 に答える
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;
    }
?>
于 2013-06-22T21:48:29.907 に答える