0

私は、php を使用してスマートな方法でデータを処理する方法を検索して見つけようとしています。

例:{"number":"test","first_name":"test","last_name":"test","company":"tes123321D323","call_result":"test","call_duration":"500","comment":"test"}

このjson文字列があり、そこからデータを取得してテーブルにエコーしたい。json から取得するデータは、ユーザーが構成できます。したがって、ユーザーは、電話をかけた会社の合計のみを表示したいとします。

データを別の方法で処理するたびに関数を作成できますが、コードを短くして、取得する文字列/パラメーターの種類に適応させる必要があります。

json でデコードした後、このデータをどのように表示すればよいですか? 1つの関数でオブジェクトを複数回表示する最良の方法は何ですか?

コード

$component_data[0] は、複数の json 文字列を含む mysql クエリです。

    if($component_data[0]->datatype !== "text"){
        foreach($component_data as $val){
            $isJira = ($val->datatype == "jirajson") ? true : false;

            $comp_objarr[] = json_decode(trim($val->data));
        }

        if($isJira){
            foreach($comp_objarr as $object){
                $comp_objarrnew[$object->_displayName][] = $object;
            }
        }else{
            $comp_objarrnew[] = $comp_objarr;
        }

        $uid = 0;
        if(isset($_GET['uid'])){
            $uid = $_GET['uid'];
        }

        $var = "";
        $i = 0;
        $i2 = 0;
        echo "<table>";
        foreach($comp_objarrnew as $key => $object){
            if($isJira){
                if($i == $uid){
                    usort($comp_objarr, 'cmp');
                    echo "<tr><th colspan=\"7\">$key</th></tr>";
                    echo "<tr>";
                    foreach($object as $value){
                        $var .= "<tr>";
                        foreach($value as $key => $item){
                            if($i2 == 0){
                                echo "<th>$key</th>";
                            }
                            $var .= "<td>".$item."</th>";
                        }
                        $i2++;
                        if($i2 > 0){
                            echo "</tr>";
                        }
                        $var .= "</tr>";
                    }
                }
                $i++;
            }else{
                foreach($object as $value){
                    if($i == 0){
                        $var .= "<tr>";
                        foreach($value as $key => $item){
                            $var .= "<th>".$key."</th>";
                        }
                        $var .= "</tr>";
                        $i++;
                    }

                    $var .= "<tr>";
                    foreach($value as $item){
                        $var .= "<td>".$item."</td>";
                    }
                    $var .= "</tr>";
                }
            }
        }
        echo $var;
        echo "</table>";
    }else{
        $i = 0;
        $var = "";

        echo "<table>";
        foreach($component_data as $val){
            if($i == 0){
                echo "<tr>";
            }

            $var .= "<tr>";
            foreach($val as $key => $info){
                if($i == 0){
                    echo "<th>$key</th>";
                }
                $var .= "<td>$info</td>";
            }
            $i++;
            $var .= "</tr>";
        }
        echo $var;
        echo "</table>";
    }
}

現在、このように表示されています

これは、ユーザーが追加できるディスプレイの 1 つです。

1 日ごとにデータをグループ化するようなものです。

ユーザーは無制限にディスプレイを追加できます。カウント会社名ごとに会社名グループのみを表示するなど。

他の何かを簡単に表示したい場合、コードをどのように編集すればよいですか? 多くの if ステートメントを作成せずに。

4

2 に答える 2

0

理解した。

私はデータベースを使用し、それを表示する方法について各json文字列の設定を定義しました:

幅 高さ 長さ グループで並べ替えます。

次に、クラスで、設定を反復処理してデータの表示方法を確認する関数を作成しました。

于 2014-09-17T09:20:53.020 に答える