【问题标题】:JSON encode no output [closed]JSON编码无输出[关闭]
【发布时间】:2019-03-17 09:08:05
【问题描述】:

我试图寻找不同的方法来让这个 json 正确输出,但我不确定我是否访问了 php/或成功函数 value.pTitle 中的正确变量以及如何访问其他值,例如 artTitle 我在某处失败,不确定在哪里或为什么。更新 修复了添加的 php 文件和数组 $data[]。

这是我的 php 代码。

$sqlPAQuery = "SELECT pTitle, GROUP_CONCAT(artTitle) AS 
artTitle 
FROM p 
JOIN art ON art.pId = p.pId 
GROUP BY pTitle";

if ($result=mysqli_query($conn,$sqlPAQuery))
{

$data = []; 
while ($row=mysqli_fetch_array($result,MYSQLI_ASSOC))
 {
    $data[] = $row;
 }
 echo json_encode($data);
}

这是行的 php 编码的结果:
[{"pTitle":"ent","artTitle":"11,12"},{"pTitle":"pro","artTitle":"10"},{"pTitle":"sports","artTitle ":"1,13"}]

这是html代码:

<h3>Output: </h3>
<div id="output"></div>


<script id="source" language="javascript" type="text/javascript">
$(document).ready(function() {
$.ajax({ 
type: "POST",   
  url: 'Data.php',                            
  data: "",                        
  dataType: 'json',                      
  success: function(data)          
  {
  $.each(data, function(index, value) {
     var pageTitle = value.pTitle;           //get name

   $('#output').append("<b>pageTitle: </b>"+pageTitle+"<br/>");
  } 
});
});

输出应该是:

pageTitle: ent

pageTitle:专业版

pageTitle:运动

修复了 PHP 文件的工作原理

【问题讨论】:

  • 好的,实际发生了什么?
  • 我认为他对查询的每一个结果都进行了编码,而不是对数组进行编码并尝试使用字符串创建 json....
  • 我误以为 php 中的 $row 是一个数组,因此 php 文件的输出不正确

标签: php mysql json ajax


【解决方案1】:

如果你想这样处理 json,这就是你需要做的:

    if ($result=mysqli_query($conn,$sqlPAQuery)) {
        $data = []; 
        while ($row=mysqli_fetch_array($result,MYSQLI_ASSOC))
        {
            $data[] = $row;
        }
        echo json_encode($data);
    }

【讨论】:

  • 我误以为 php 文件中的 $row 是一个数组,因此 php 文件的输出不正确。我认为这是数组,因为 json 接受。感谢您的专业知识 sieste85
猜你喜欢
  • 2013-03-29
  • 2014-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-24
  • 1970-01-01
  • 1970-01-01
  • 2014-12-22
相关资源
最近更新 更多