每个项目类别的Ajax到PHP返回计数

每个项目类别的Ajax到PHP返回计数,php,mysql,ajax,Php,Mysql,Ajax,我有5种不同类别的物品。我需要获得类别中每个项目的计数,并更新页面上的计数。我正在对一个PHP函数进行AJAX调用,该函数从MySQL表中获取数据。我可以接近,但不能完全让它工作 阿贾克斯: PHP: 输出: 0:[对象] 1:[对象] 2:[对象] 我希望更多的是: “itemCategoryOne”:3 “项目类别2”:12 “项目类别树”:3 这就是上面[object object]中存储的内容。在ajax请求的成功回调中,首先需要解析数据。 例如:JSON.parse(数据)。然后,

我有5种不同类别的物品。我需要获得类别中每个项目的计数,并更新页面上的计数。我正在对一个PHP函数进行AJAX调用,该函数从MySQL表中获取数据。我可以接近,但不能完全让它工作

阿贾克斯:

PHP:


输出:

0:[对象]
1:[对象]
2:[对象]

我希望更多的是:

“itemCategoryOne”:3
“项目类别2”:12
“项目类别树”:3


这就是上面[object object]中存储的内容。

在ajax请求的成功回调中,首先需要解析数据。
例如:JSON.parse(数据)。然后,您可以对已解析的项使用每个函数。

fetchAll
返回结果数组,其中键是列名,值是行的值。因此,您应该将其转换为您想要的:

注意:对于PDO中的get
count(*)
,需要别名
count(*)



据我所知,PHP中的json_编码已经将其转化为一个对象。JSON.parse给了我一个错误“位置1处JSON中的意外标记o”,当您
var_dump($results)时,您得到了什么输出;退出
$(function(){
  $.ajax({
    url : '/getItemList.php',
    type : 'GET',
    dataType: 'json',
    success : function(data) {
      $(data ).each(function( key, value ) {
        console.log( key + ": " + value);
      });
    },
    error : function(request,error)
    {
      console.log(request);
    }
  });
})
<?php
  try {    
        $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $stmt = $conn->prepare("SELECT itemType, count(*) from `Items` group by itemType");
        $stmt->execute();
        $results=$stmt->fetchAll(PDO::FETCH_ASSOC);
        echo json_encode($results);
  }
  catch(PDOException $e)
  {
     $errorMessage =  "Sorry, something webt wrong";
  }
  $conn = null;
?>
<?php
  try {    
        $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $stmt = $conn->prepare("SELECT itemType, count(*) as count from `Items` group by itemType");
        $stmt->execute();
        $results=$stmt->fetchAll(PDO::FETCH_ASSOC);

        $response_array = array();
        foreach($results as $result)  {
            $response_array[$result['itemType']] = $result['count'];
        }

        echo json_encode($response_array);
  }
  catch(PDOException $e)
  {
     $errorMessage =  "Sorry, something webt wrong";
  }
  $conn = null;
?>