2016-03-30 18 views
-2

マイ所望の出力このようなJSON出力を作成するにはどうすればよいですか?

{"rowcount":4 
[{"provider_id":"1","provider_name":"Crecent Computers","sub_name":["Hardware","Software","Networks"]}],[{"provider_id":"4","provider_name":"Testing Co. LLC","sub_name":["Hardware","Software","Networks"]}],[{"provider_id":"41","provider_name":"Itiology","sub_name":["Hardware","Software","Networks","All IT Services"]}],[{"provider_id":"42","provider_name":"ITiology","sub_name":["Hardware","Software","Networks","All IT Services","Website Design "]}]} 

マイ所望の出力端

私の現在のJSON出力

{"rowcount":4,"0":[{"provider_id":"1","provider_name":"Crecent Computers","sub_name":["Hardware","Software","Networks"]}],"1":[{"provider_id":"4","provider_name":"Testing Co. LLC","sub_name":["Hardware","Software","Networks"]}],"2":[{"provider_id":"41","provider_name":"Itiology","sub_name":["Hardware","Software","Networks","All IT Services"]}],"3":[{"provider_id":"42","provider_name":"ITiology","sub_name":["Hardware","Software","Networks","All IT Services","Website Design "]}]} 

JSON出力端

あなたが出力JSONを希望PHPコード

$result = mysqli_query($con, "select * from service_provider where servicecategory_id = '1'"); 


if ($counter = mysqli_query($con, "select * from service_provider where servicecategory_id = '1'")) 
{ 
    // Return the number of rows in result set 
    $rowcount=mysqli_num_rows($counter); 

    // Free result set 
    mysqli_free_result($counter); 
} 

$data_points = array(); 
$subcatArray = array(); 

$data_points["rowcount"] = $rowcount; 

while($row = mysqli_fetch_assoc($result)) 
{ 

    $subcatresult = mysqli_query($con, "SELECT sub_name, price FROM sub_services WHERE provider_id = " . $row['provider_id']); 
    while($subcatrow = mysqli_fetch_assoc( $subcatresult)) 
    { 
     $subcatArray[] = $subcatrow['sub_name']; 
     unset($subcatrow); 
     $subcatrow = array(); 
    } 


    $data_points[][] = [ 
     'provider_id' => $row['provider_id'], 
     'provider_name' => $row['provider_name'], 
     'sub_name' => $subcatArray 
    ]; 

    // array_push("totalRow",$data_points, $point); 
} 


echo json_encode($data_points); 

PHP CODE END

+2

JSONは実際には有効ではありません。 'providers'のようなキーを追加し、それらの内部にネストされた配列を置くべきです。あなたの質問を編集してください。 – ehsan88

答えて

0

無効JSONです。 http://jsonviewer.stack.huにこのjsonが有効かどうかをチェックすることができます。 jsonまたはxmlには独自のパターンがあります。

+0

はそれを得ました。ありがとう。 –

+0

あなたは大歓迎です! – codekman

0

私は希望の出力が無効であることを知りました。申し訳ありませんが、PHPを初めて使用しています。

私はこのラインに

$data_points["rowcount"] = $rowcount; 

を削除し、この

$data_points["Rows"][] = [ 
     'provider_id' => $row['provider_id'], 
     'provider_name' => $row['provider_name'], 
     'sub_name' => $subcatArray 
    ]; 

にこの

$data_points[][] = [ 
     'provider_id' => $row['provider_id'], 
     'provider_name' => $row['provider_name'], 
     'sub_name' => $subcatArray 
    ]; 

を作った私はかなり私は必要なものに近い出力を得ました。みんなありがとう!

関連する問題