Php 来自数据库的结果值-mysql

Php 来自数据库的结果值-mysql,php,mysql,Php,Mysql,我有这张表,表1: +----+-------+----------+ | ID | MONTH | QUANTITY | +----+-------------+----+ | 1 | 1 | 1 | | 2 | 2 | 2 | | 3 | 7 | 3 | | 4 | 4 | 1 | | 5 | 2 | 3 | | 6 | 12 | 8 | | 7 |

我有这张表,表1:

+----+-------+----------+
| ID | MONTH | QUANTITY |
+----+-------------+----+
| 1  |   1   |     1    |
| 2  |   2   |     2    |
| 3  |   7   |     3    |
| 4  |   4   |     1    |
| 5  |   2   |     3    |
| 6  |  12   |     8    |
| 7  |   1   |     6    |
+----+-------+----------+

My file php is:

 <?php
include 'bd_cnx.php';
$ret =[];
  $sql = "SELECT 
          FROM 
          ";

  $result = $conn->query($sql);
  if ($result->num_rows > 0){

    while($row = $result->fetch_assoc()){
      //floatval() transforma sirul numeric in numar
      $ret[] =[$row['MONTH'], floatval($row['QUANTITY'])];
          }
  }
  else {
      echo "result 0";
      }
?>
+----+-------+----------+
|ID |月|数量|
+----+-------------+----+
| 1  |   1   |     1    |
| 2  |   2   |     2    |
| 3  |   7   |     3    |
| 4  |   4   |     1    |
| 5  |   2   |     3    |
| 6  |  12   |     8    |
| 7  |   1   |     6    |
+----+-------+----------+
我的文件是:
如何返回此表单中的值?[1,7]、[2,5]、[3,0]、[4,1]、[5,0]、[6,0]、[7,3]、[8,0]、[9,0]、[10,0]、[11,0]、[12,8]]


谢谢大家!

您可以创建数据库结果的临时数组,然后在(固定的)一组月(1-12)上执行循环

$tmp=array();
而($row=$result->fetch_assoc()){
$tmp[$row['MONTH']]=$row['QUANTITY'];
}
$retTmp=array();
对于($i=1;$i使用以下代码

$finalArray = $store = [];
$sql = "SELECT MONTH,SUM(QUANTITY) FROM `stack` GROUP BY MONTH";

$result = $conn->query($sql);
if ($result->num_rows > 0) {

    while ($row = $result->fetch_assoc()) {
        //floatval() transforma sirul numeric in numar
        $store[$row['MONTH']] = $row['QUANTITY'];
    }
    $finalArray = '[';
    for ($i = 1; $i <= 12; $i++) {
        $finalArray .= "[$i," . (isset($store[$i]) ? $store[$i] : 0) . "]";
        if ($i != 12) {
            $finalArray .= ",";
        }
    }

    $finalArray .= ']';
} else {
    echo "result 0";
}
$finalArray=$store=[];
$sql=“从“堆栈”中按月分组选择月份、总和(数量);
$result=$conn->query($sql);
如果($result->num_rows>0){
而($row=$result->fetch_assoc()){
//floatval()转换numar中的sirul数值
$store[$row['MONTH']=$row['QUANTITY'];
}
$finalArray='[';

对于($i=1;$i输出背后的逻辑是什么?我如何返回此表单中的值?此表单背后的规则是什么?我需要此表单作为图表行ok,但它背后的逻辑是什么?顺便说一句,SELECT FROM不是有效的sqlParse错误:语法错误,意外’”,在C:\xampp\htdocs\ for line:
$finalArray.=“[$i.”(isset)($store[$i])?$store[$i]):0)。“]”;
解析错误:语法错误,意外“,”在C:\xampp\htdocs\@ster
$finalArray.=“[$i,”($i),($istet($store[$i])?$store[$i]:0)。”;
在C:\xampp\docs中的行
解析错误:$ret 0.“[$i”。”;
->解析错误:语法错误,意外“;”\
$finalArray = $store = [];
$sql = "SELECT MONTH,SUM(QUANTITY) FROM `stack` GROUP BY MONTH";

$result = $conn->query($sql);
if ($result->num_rows > 0) {

    while ($row = $result->fetch_assoc()) {
        //floatval() transforma sirul numeric in numar
        $store[$row['MONTH']] = $row['QUANTITY'];
    }
    $finalArray = '[';
    for ($i = 1; $i <= 12; $i++) {
        $finalArray .= "[$i," . (isset($store[$i]) ? $store[$i] : 0) . "]";
        if ($i != 12) {
            $finalArray .= ",";
        }
    }

    $finalArray .= ']';
} else {
    echo "result 0";
}