0

私はこれらのJsonデータを取得しました:

[{"category":"Pizza","name":"Beef Pronto","desc":"Description of Beef Pronton here","price":"12"},
 {"category":"Drink","name":"Cool Delight","desc":"Description of Coold Delight here","price":"5"},
 {"category":"Drink","name":"Cola","desc":"Description of Cola","price":"4"}
 ]

Javascriptを使用して、次のように表示するデータを正常に管理しました。

ピザ

-ビーフプロント:ビーフプロントの説明はこちら:12

飲む

-Cool Delight:ここでのCooled Delightの説明:5

-コーラ:コーラの説明:4

PHPでそれを行う方法について何かアイデアはありますか?

->わかりました、これは私がPHPでそれを行う方法です:

<?
$listedmenuJSON = '[{"category":"Pizza","name":"Beef Pronto","desc":"Description of Beef Pronton here","price":"12"},
 {"category":"Drink","name":"Cool Delight","desc":"Description of Coold Delight here","price":"5"},
 {"category":"Drink","name":"Cola","desc":"Description of Cola","price":"4"}
 ]';

    $json_decoded = json_decode($listedmenuJSON);
    foreach ($json_decoded as $categoryvalue){
     //echo $categoryvalue->category."<br/>";
     $tempcategoryvalue[] = $categoryvalue->category;
     $arrunique = array_unique($tempcategoryvalue);
     }

    foreach ($arrunique as $tmpcategory){
    echo '<br/><b>'.$tmpcategory.'</b></br>';
     foreach ($json_decoded as $tempo){
      if($tempo->category == $tmpcategory){
       echo $tempo->name.'<br/>';
       echo '<i>'.$tempo->desc.'.......</i>';
       echo $tempo->price.'<br/>';
      }
     }

    }    
?>  

次のように生成されます。

ピザ
ビーフプロントビーフプロント
の説明はこちら.......12


ここでクールディライトの説明を飲む
.......5
コーラコーラ
の説明.......4

4

3 に答える 3

0

PHPコードでjsonを取得した場合は、次の行を使用してjsonをPHP配列に変換し、配列を操作して目的の出力を取得します

$array = json_decode($json,TRUE);

コードの下のjavascriptユーザーで、jsonを配列に変換します。

var obj = jQuery.parseJSON(responce);
于 2012-07-11T08:31:41.343 に答える
0

PHP 関数 'json_decode' ( http://php.net/manual/en/function.json-decode.php ) を使用してみてください。これにより、PHP で連想配列が作成されます。その上のデータにアクセスして操作するのは非常に簡単でなければなりません。

于 2012-07-11T08:32:45.073 に答える
0

SQLサーバーを使用している場合は、「カテゴリ別グループ」を使用してテーブルから選択できます

それ以外の場合は、配列を何度も検証できます。

SQL:

<?php
$query = "SELECT * FROM 'table'
GROUP BY category
having (category=\"Pizza\");"


--SELECT * FROM 'table'
--GROUP BY category
--having (category="Drink");

これを php で使用する場合は、sql_query("query") を使用する必要があります。

于 2012-07-11T09:40:01.330 に答える