0

PHPスクリプトによって返送されたJSONから配列データを取得するにはどうすればよいですか?

PHPコード:

<?php
//connects to database
include 'connect.php';
$callback = $_GET['callback'];

$query = mysql_query("SELECT * FROM users");
$rows = array();
while($r = mysql_fetch_assoc($query)) {
   $rows[] = $r;
}

$out_string = json_encode($rows);

print $callback.'('.$out_string.');';
?>

上記のphpコードは、ユーザーテーブルのすべての行を配列に入れ、それをJSONエンコードします。その後、次のスクリプトに送り返されます。

$.getJSON(domain_path + 'generate.php?table=' +  tbname + '&callback=?', function(data) {
});

返送されたJSON配列の各行を表示するにはどうすればよいですか?

たとえば、データは次のように返送されます。

([{"name":"user1","link":"google.com","approve":"true"},{"name":"user2","link":"yahoo.com","approve":"true"},{"name":"user3","link":"wikipedia.com","approve":"true"}]);

javascript(jQuery)を使用して次のように表示するにはどうすればよいですか?

名前:User1、リンク:google.com、承認:True
名前:User2、リンク:yahoo.com、承認:True
名前:User3、リンク:wikipedia.com、承認:True
4

3 に答える 3

1

完了print $callback.'('.$out_string.');';すると、JSON 形式の文字列が台無しになります。代わりに配列で送り返し、行をループしてデータを表示します。

$out_string = json_encode(array('callback' => $callback, 'rows' => $rows));
于 2012-04-04T09:20:23.007 に答える
0

やったほうがいい

function(data) {
    $.each(data, function(){
        $('#result').append('<p>Name:'+this.name+' Link:'+this.link+' Approve'+this.approve+'</p>');
    });
}

ここでフィドルhttp://jsfiddle.net/hUkWK/

于 2012-04-04T09:16:53.083 に答える
0
$.getJSON(domain_path + 'generate.php?table=' +  tbname + '&callback=?', function(data) {
  $.each(data, function(i, item) {
    $("#mycontainer").append("<p>Name: " + item.name + "</p>");
    $("#mycontainer").append("<p>Link: " + item.link + "</p>");
  });
});
于 2012-04-04T09:19:49.140 に答える