第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 PHP 從 SQL 查詢創(chuàng)建 JSON

使用 PHP 從 SQL 查詢創(chuàng)建 JSON

PHP
慕工程0101907 2021-07-12 01:04:18
我正在嘗試以以下格式輸出 JSON:[{  "category": "cONTIME",  "value": 155,  "color": "#0f9b0f"},{  "category": "cLATE",  "value": 244,  "color": "#dd1818"},{  "category": "cTOTAL",  "value": 399,  "color": "#0575E6"},{  "category": "ONTIME",  "value": 60,  "color": "#0f9b0f"},{  "category": "LATE",  "value": 58,  "color": "#dd1818"},{  "category": "TOTAL",  "value": 118,  "color": "#0f9b0f"}]我正在執(zhí)行的存儲過程返回下表 - 這是 SQL SERVER - 我對不感興趣的列進(jìn)行了灰色處理我已經(jīng)嘗試過使用$categories = [    'cONTIME' => $row['cONTIME'],    'cLATE' => [],    'cTOTAL' => [],];$colors = [    'ONTIME' => "#0f9b0f",    'LATE' => "#dd1818",    'TOTAL' => "#0575E6",];$json = array();while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {        $json['category'] = $categories;        $json['value'] = $row;        $json['color'] = $colors;}echo json_encode($json);返回這個:{   "category":{      "cONTIME":null,      "cLATE":[      ],      "cTOTAL":[      ]   },   "value":{      "cTOTAL":399,      "cONTIME":155,      "cLATE":244,      "cPERCENTS":38,      "TOTAL":118,      "ONTIME":60,      "LATE":58,      "PERCENTS":50,      "KPI":"UP"   },   "color":{      "ONTIME":"#0f9b0f",      "LATE":"#dd1818",      "TOTAL":"#0575E6"   }}我也嘗試過這個:$json = array();while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {                  $json[] = $row;}echo json_encode($json);返回:[   {      "cTOTAL":399,      "cONTIME":155,      "cLATE":244,      "cPERCENTS":38,      "TOTAL":118,      "ONTIME":60,      "LATE":58,      "PERCENTS":50,      "KPI":"UP"   }]除了上述方法,我還嘗試了許多其他方法和示例,但似乎無法實(shí)現(xiàn)我需要的格式。我完全了解 PDO、準(zhǔn)備好的語句、注入等!我只需要先格式化 JSON,但在此先感謝您的建議任何幫助將不勝感激 - PHP Noob
查看完整描述

1 回答

?
海綿寶寶撒

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個贊

這樣的事情應(yīng)該工作:


$json = array();


while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {          

    foreach ($row as $fieldName => $fieldValue) {

        if (in_array($fieldName, ['cTOTAL', 'cONTIME', 'cLATE', 'TOTAL' ,'ONTIME', 'LATE'])) {

            $json[] = [

                "category" => $fieldName,

                "value" => $fieldValue,

                "color" => getColorByFieldName($fieldName),

            ];

        }

    }

}

echo json_encode($json);


function getColorByFieldName($fieldName) 

{

    if ($fieldName === 'ONTIME' || $fieldName === 'cONTIME') {

        return '#0f9b0f';

    }

    if ($fieldName === 'LATE' || $fieldName === 'cLATE') {

        return '#dd1818';

    }

    if ($fieldName === 'TOTAL' || $fieldName === 'cTOTAL') {

        return '#0575E6';

    }

}


查看完整回答
反對 回復(fù) 2021-07-16
  • 1 回答
  • 0 關(guān)注
  • 216 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號