0

このようなjson形式を取得しています

[{"service":{"title":"karthik","city":"chennai"}},{"service":{"title":"siva","city":"madurai"}}]

コードから

$rt = array();
$rt["service"]["title"] = karthik;
$rt["service"]["city"] = chennai;

$t = array();
$t["service"]["title"] = siva;
$t["service"]["city"] = madurai;

echo json_encode(array($rt,$t));

しかし、私はこのコードから同じ形式のjson結果が必要です

$a=mysql_query("SELECT  title,city,category,parentid,pay,task.id 
FROM task");
while($row=mysql_fetch_array($a))
{
$jsonrow=new stdClass;
$jsonrow->title=$row['title'];
$jsonrow->city=$row['city'];


$jsonresponse=new stdClass;
$jsonresponse->service=$jsonrow;

}

echo json_encode(array($jsonresponse));

しかし、実際に上記のコードから得られる結果は

[{"service":{"title":"Event Help","city":"Santa Fe"}}]

誰かがこの問題について私を助けてください.....

4

3 に答える 3

3

配列を使用して、クエリから返されたすべての値を格納します

$array = array();
$a=mysql_query("SELECT  title,city,category,parentid,pay,task.id 
FROM task");
while($row=mysql_fetch_array($a))
{
  $jsonrow=new stdClass;
  $jsonrow->title=$row['title'];
  $jsonrow->city=$row['city'];


  $jsonresponse=new stdClass;
  $jsonresponse->service=$jsonrow;
  $array[] = $jsonresponse;
}

echo json_encode(array($array));
于 2012-12-15T08:33:25.280 に答える
1

$jsonresponsewhileループで上書きしている場合は、これを配列とjson_encodeこの配列に追加する必要があります

$response = array();

while( ... ){
    ...
    $response[] = $jsonresponse;
}
echo json_encode($response);
于 2012-12-15T08:33:07.573 に答える
0

このようにしてみてください

  $a=mysql_query("SELECT  title,city,category,parentid,pay,task.id  FROM
  task");

  $jsonrow=new stdClass;
  $jsonresponse=new stdClass;
  while($row=mysql_fetch_array($a)) {

  $jsonrow->title=$row['title']; $jsonrow->city=$row['city'];    
  $jsonresponse->service=$jsonrow;

   }
于 2012-12-15T08:31:19.597 に答える