单独显示json_encode结果

时间:2014-04-04 13:05:12

标签: javascript php ajax json

您好我能够显示json数据(会话结果列表)但我想显示它们就像我如何显示数据库中的记录一样:

   foreach(res->fetchAll(PDO::FETCH_ASSOC) as result):
    $username = $result['username'];
    $message = $result['message'];
    endforeach;

是否有类似这样的程序,但有json_encode()

这是我的PHP脚本

$sql6="SELECT msgid FROM thread WHERE combination1=:msgids OR combination2=:submsgids LIMIT 1";
        $msg_id = $con4->prepare($sql6);
        $msg_id->bindParam(':msgids', $comb, PDO::PARAM_STR);
        $msg_id->bindParam(':submsgids', $comb, PDO::PARAM_STR);
        $msg_id->execute();
        $msgd = $msg_id->fetchColumn();
        $tbpre = $msgd;
        $sql7 = "SELECT * FROM ".$tbpre."chat_conversation WHERE msgid=:chat";

        $stmt7=$con3->prepare($sql7);
        $stmt7->bindValue( 'chat', $msgd, PDO::PARAM_STR);
        $stmt7->execute();
        $rows = $stmt7->fetchAll(PDO::FETCH_ASSOC);

        echo json_encode($rows);

这个php脚本从我的ajax脚本下面获取数据

        function AjaxRetrieve()
            {
              var rid = document.getElementById('trg').value,
            data = {chat: uid, rid: rid, name: user};
 $.ajax({
      url: "includes/getChat.php",
      type: "GET",
      data: data,
  dataType: 'json',
 success: function(result){
        var container = $("#clog");

        $.each(result, function(i, message) {
            $.each(message, function(key, value) {
                container.append($('<p />').html(key + ':' + value));
            });
        });
   }
});

php和javascript工作正常JSON正在显示..但我想弄清楚是否有一种方法,我只能显示用户名和消息,我只是如何使用foreach我上面提到的陈述......

1 个答案:

答案 0 :(得分:1)

我可能会误解,但您应该能够通过添加if的条件来过滤显示的内容

$.each(result, function(i, message) {
    $.each(message, function(key, value) {
        if (key == "username" || key == "message")
            container.append($('<p />').html(key + ':' + value));
    });
});