ajax を使用してデータベースから情報を取得する際に問題が発生しました。ここからコードを取得していました:
- http://openenergymonitor.org/emon/node/107 ここのコードは機能しましたが、1 項目しか出力しませんでした
- シンプルな Ajax Jquery スクリプト - テーブル内の各行の情報を取得するにはどうすればよいですか? これをコードに追加しようとしましたが、機能させることができませんでした。
次のphpを使用して、テーブルからすべてを取得しています:
$result = mysql_query("SELECT * FROM voterecords");
$data = array();
while ( $row = mysql_fetch_row($result) )
{
$data[] = $row;
}
echo json_encode($data);
そのphpページに移動すると、次が出力されます。
[["68","1234","0","1234",""],["69","added with ajax","0","this item was added using ajax",""]]
上記の形式は次のとおりです: id、タイトル、投票、説明、所有者
少しはうまくいくと思いますが、JSONがどのように見えるべきかわからないため、確信が持てません。
さて、JSON から情報を取得し、それを html 要素 #output に入れることになっている jquery を次に示します。
$(function ()
{
$.ajax({
url: 'retrieve.php', data: "", dataType: 'json', success: function(rows)
{
for (var i in rows)
{
var row = rows[i];
var id = row[0];
var name = row[1];
var votes = row[2];
var info = row[3];
$('#output').append("<b>id: </b>"+id+"<b> name: </b>"+name+"<b> votes: </b>"+votes+"<b> info: </b>"+info)
.append("<hr />");
}
}
});
これですべての情報が出力されると思っていましたが、何も起こりません。