2016-05-16 2 views
1

, когда я возвращаю свой массив, я получил [{"product":"TEST_1","best_selling_product":"305"},{"product":"IPHONE 4S","best_selling_product":"108"}], но Highcharts не позволяют мне использовать строку как значение, то как я могу изменить ее на int или float? моя функция Бэкэнд этоКак я могу изменить результат JSON?

function best_selling_product(){ 
     $sql = "SELECT product,SUM(sale_detail.amount) AS best_selling_product FROM sale_detail INNER JOIN product ON sale_detail.idproduct = product.idproduct GROUP BY sale_detail.idproduct ORDER BY SUM(sale_detail.amount) DESC LIMIT 0,5"; 
     $result = $this->conexion->conexion->query($sql); 
     $array = array(); 
     while($record = $result->fetch_array(MYSQLI_ASSOC)){ 
      $array[] = $record; 
     } 
     return $array; 
     $this->conexion->cerrar(); 
    } 

ответ

2

Вы можете использовать CAST в запросе MySQL, или обрабатывать данные в PHP с использованием floatval() или intval().

Например, в запросе MySQL:

SELECT CAST(SUM(sale_detail.amount) as UNSIGNED) AS best_selling_product FROM ... 

ИЛИ с PHP:

while($record = $result->fetch_array(MYSQLI_ASSOC)){ 
    $record['best_selling_product'] = floatval($record['best_selling_product']); 
    $array[] = $record; 
} 
Смежные вопросы