私は、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 ステートメントを作成せずに。