php - 如何使用php和mysql数组获取json对象

标签 php mysql json

我试图从 php 获取 json 数据,当使用 jquery json 时,它显示 undefined object 。我不知道我的代码哪里有问题。有人可以帮忙吗?

这是 json 代码:

$("document").ready(function() {
$("body").css("background", "#ccc");
$(".sitebuttons").click(function() {
    $("#subcat").html("");
    $.getJSON("subcat.php", {catid: $(this).attr("id")}, function(data){
        $.each(data, function(index, array) {
            $("#subcat").append("<input type='button' class='subcat' id='" + data.subcat_id + "' value='"
                    + data.subcat_name + "'></p>");
        });
    });
});

});

这是 PHP 代码

 $select_subcat = mysql_query("SELECT * FROM wp_leadsubcat WHERE cat_id=" . $_GET['catid']);
$rows = array();
while ($result2 = mysql_fetch_assoc($select_subcat)) {
    $rows[] = $result2;
}
echo json_encode($rows);

请在此处查看屏幕截图:http://imageshack.us/photo/my-images/560/screenshotqvl.png/

最佳答案

阅读有关 jquery each 的文档.

简而言之jQuery.each(collection,callback(indexInArray,valueOfElement))

index 表示索引,valueOfElement 表示集合中的当前元素。在您的案例行中。

这是一个修复。

$("document").ready(function() {
$("body").css("background", "#ccc");
$(".sitebuttons").click(function() {
  $("#subcat").html("");
  $.getJSON("subcat.php", {catid: $(this).attr("id")}, function(data){
    $.each(data, function(index, row) {
      $("#subcat").append(
         "<input type='button' class='subcat' id='" + row.subcat_id + "' value='"+ row.subcat_name + "'>"
      );
    });
  });
});

并且附加部分可以像这样优化(如您所见,它更具可读性)

$("#subcat").append($(
  "<input/>"
, {
    cssClass: 'subcat'
  , id: row.subcat_id
  , value: row.subcat_name
}
));

关于php - 如何使用php和mysql数组获取json对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14402577/

相关文章:

php - Docker-Compose 不会批量处理我的 php.ini 文件

PHP:PDOStatement 简单的 MySQL Select 不起作用

php - 从动态href链接php链接到另一个php页面

python - RESTful-Flask 使用 parse_args() 解析 JSON 数组

jquery - 在 django 中制作简单的可排序播放列表的最佳方法

php - 如何在响应中返回数组

php - 表单停止提交到数据库

javascript - 如何从文本区域获取换行符

php - 将 foreach 应用于多个数组?

php - Group by 获取第一行而不使用 join