まず、タイトルがオフであればごめんなさい...私が直面している問題について考えることができる最高のものです。PHP変数はすべてのオブジェクトの代わりにデータベース内の最後のオブジェクトを取得します
私のデータベースには、アプリのリストがあります。 PHPでは、キーからデータを取り出し、そのデータをJSONにエンコードして印刷します(APIを作成しています)。
しかし、最後のアプリだけがJSONでプリントアウトされます。私が必要とするのは、同じキーを持つすべてのアプリケーションを持つJSON配列です。そのため、後でループしてデータを印刷できます。
マイコード:上記の場合
$getApp = "SELECT * FROM tundra.apps WHERE app_key = '" . $api_key . "'";
$appData = $dbConnection->query($getApp);
if ($appData->num_rows > 0){ // Check if app_key exists
while($row = $appData->fetch_assoc()) { // While retrieving rows
$jsonApp = json_encode(array(// Encode the row data
"app_name" => $row['app_name'],
"app_theme" => array(
"primary_color" => $row['app_primary_color'],
"primary_color_dark" => $row['app_primary_dark_color'],
"accent_color" => $row['app_accent_color'],
),
"app_navigation" => $row['app_navigation'],
"author_info" => array(
"author_name" => $row['app_author_name'],
"author_bio" => $row['app_author_bio'],
"links" => array(
"website" => $row['app_author_website'],
"googleplus" => $row['app_author_gplus'],
"twitter" => $row['app_author_twitter'],
"dribble" => $row['app_author_dribble'],
"behance" => $row['app_author_behance'],
)
),
"app_status" => $row['app_status']
), JSON_UNESCAPED_SLASHES);
}
// Format and print JSON data
echo "<pre>" . prettyPrint($jsonApp) . "</pre>";
} else { // No key found, encode error
$jsonError = json_encode(
array(
array(
"error" => array(
"code" => "8",
"message" => "Invalid API key specified"
)
)
), JSON_UNESCAPED_SLASHES);
echo "<pre>" . prettyPrint($jsonError) . "</pre>";
}
、Iは、whileループでJSONデータをエコーしようとしたが、それは(予想通り)行ごとに<pre>
のプリント。データが完全にフォーマットされますが、私は、配列にあることがデータを必要と私はこれを行う方法のようわからないよ:
{
"app_name":"Andrew's Second App",
"app_theme":{
"primary_color":"#FFFFFF",
"primary_color_dark":"#E0E0E0",
"accent_color":"#E91E63"
},
"app_navigation":"0",
"author_info":{
"author_name":"Andrew Quebe",
"author_bio":"I'm a developer of stuff.",
"links":{
"website":"http://www.andrewquebe.com",
"googleplus":"https://plus.google.com/+AndrewQuebe",
"twitter":"https://twitter.com/andrew_quebe",
"dribble":"None",
"behance":"None"
}
},
"app_status":"1"
}
注:
は、ここで上記のコードからJSON出力です。
、あなたは私がデータを配列にする必要があります*によって何を意味しています*:
は、だからあなたのコードは次のようにすべきですか?サンプル*期待値*の出力を見せてもらえますか? –
あなたは各ループでそれを追加するのではなく、 '$ jsonApp'を上書きします。 – nogad
@RajdeepPaulはい...このようなもの:http://pastebin.com/ZBFkDyXy –