2016-04-19 8 views
0

私は現在、APIに作成しようとしています。私は現在、特定のデータをJSON出力に戻すための変数を追加しようとしています。テーブル。何かアドバイスをいただければ幸いです...以下のコードを参照してください...特定のJSON出力を取得するURLに変数を渡します。

$connection = @mysqli_connect($server, $user, $password, $bd); 

if(! $connection) die("Error ".mysqli_connect_error()); 

$sql = "SELECT * FROM posts"; 
$result = mysqli_query($connection, $sql); 
$array_post = array(); 


while($data = mysqli_fetch_assoc($result)){ 
    $array_post[] = $data; 

} 

echo json_encode($array_post); 
+0

コードに問題がありますか?またはアドバイスを求めるだけですか? –

+0

URLに追加する特定のデータは何ですか? –

+0

($ data = mysqli_fetch_assoc($ result)){ $ array_post [$ counter] = $ data;あなたの配列ポストにカウンタを追加します。 $ counter ++; } –

答えて

1

おそらくPOSTまたはGETリクエスト後にapiの応答を意味するでしょうか?私は正しい?もしそうであれば

することは、あなたがこれを行うことができます...

$response = $array_post; 
    http_response_code(200); 
    print json_encode($response); 

あなたは出力にJSONデータをストリームを必要とする、あなたはhttp_response_code($コード)機能により、HTTPステータスコードを設定し、印刷することができますレスポンス。

APIリクエストと応答を処理できるパッケージがあります。 私はあなたがカールか、GuzzleHttpの方がはるかに優れていることをお勧めします。

希望します。

0

あなたが特定の値は、この

while($data = mysqli_fetch_assoc($result)){ 
    $array_post['key2'][] = $data['key2']; 
    $array_post['key2'][] = $data['key2']; 

} 

echo json_encode($array_post); 

使用のような配列のキーにSQLクエリからあなたに必要なだけ、これらの値を返す保存することができますURLを渡します。 すべてのレコードが必要な場合は、コードが正しいです。 レコードについて考えている場合は、のようにクエリを に変更してください。 これは、実行時にSQLクエリの実行に影響を与えることがあるためです。

+0

これは奇妙なことに、テーブルから7番目の行だけを返します。これは混乱し、非常に奇妙です –

+0

申し訳ありません。 私はちょうど私の答えを編集しました。 '$ array_post ['key2']'の後に '[]'を追加しました –

+0

ありがとう!だから私はどのようにJSONで特定の結果を返すことができるだろうか?この作品のようなものはありますか? "http://localhost/api/api.php?post_title = Strawbrerry&post_description = Strawberry" –