※ ChatGPTを利用し、要約された質問です(原文:Ajaxで、JSONの添え字を表示する)
AjaxでJSONの添え字を表示する方法
このQ&Aのポイント
jQueryとAjaxを使用して、JSON形式でMySQLのabcテーブルの添え字と値を表示する方法を教えてください。
ajax_abc.htmlのボタンを押すと、json_abc.phpから添え字がMySQLのabcテーブルのid列、値が同じテーブルのalphabet列の値を受け取り、htmlに表示します。
json_abc.phpのソースコードでは、データベースの接続、クエリの実行、データの配列化、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
お礼
なるほど、そうすると簡単に取り出せますね。 ありがとうございます。