みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Ajaxで、JSONの添え字を表示する

以下のようなソースで、jQueryで、ajax_abc.htmlのid:Abcのボタンを押して、json_abc.phpから、JSON形式で、添え字がMySQLのabcテーブルのid列、値が同じMySQLのabcテーブルのalphabet列の値を全行分受け取り、<p>1:A</p><p>2:B</p><p>3:C</p>というような形でhtmlを生成したいのですが、値を表示することはできるのですが、添え字を表示する方法がわかりません。
どういう風にやれば、表示できるか教えてください。

[ajax_abc.html]
<script type="text/javascript">
$(function(){
$("#Abc").click(function(){
$.post("json_abc.php", {
}, function(json){
$('#Display').html("<p>"+json[1]+"</p>" + "<p>"+json[2]+"</p>" + "<p>"+json[3]+"</p>")
});
});
});
</script>

[json_abc.php]
<?php
$pdo = new PDO('mysql:dbname=test; host=localhost; charset=utf8', 'root');
$st = $pdo->query("SELECT * FROM abc");
$abc = array();
while ($row = $st->fetch()) {
$abc += array (
$row['id'] => $row['alphabet']
);
}
header('Content-Type: application/json; charset=utf-8');
echo json_encode($abc);

[MySQLのabcテーブル]
INT: VARCHAR
1: A
2: B
3: C

投稿日時 - 2014-10-31 20:15:35

QNo.8809231

困ってます

質問者が選んだベストアンサー

php側でid=>alphabetという配列を作らないで、id=>id:alphabetという配列を作ればいいんじゃないかな。

投稿日時 - 2014-11-01 07:06:34

お礼

なるほど、そうすると簡単に取り出せますね。
ありがとうございます。

投稿日時 - 2014-11-01 12:39:49

ANo.1

このQ&Aは役に立ちましたか?

14人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問