データベーステーブルのすべての行を含むJSONオブジェクトリテラルを単純にエコーしようとしています。
私が見た他の多くの同様の質問に見られるメソッドの標準として、私はすべての行をフェッチし、次のようにエンコードしています。
$con=mysqli_connect("localhost","username","pass","markers");//markers is db table name
$result = mysqli_query($con,"SELECT * FROM markers");
$rows = array();
while($r = mysqli_fetch_array($result))
{
$rows[] = $r
//or: $rows[] = array('data' => $r);
}
echo json_encode($rows);
質問PHPと同様に、複数の行を持つjsonまたはmysqlテーブルをjsonにエンコードすることはできません。
次のようなJSONオブジェクトをエコーしたい:
{
"data1": // how do I get "data1"?
{
name: John Smith,
title: Mr,
description: a man
}
}
{
"data2":{ // how do I get "data2"?
name:Bob Smith,
title: Mr,
description: another guy
}
}
「ヘッダー」を取得する方法がわからない場合を除いて、「data1」や「data2」などのオブジェクトの第1レベルの文字列のタイトル。実際、データベーステーブルには必ずしもそれらの値/その列が含まれているとは限りません。
これは現在のように見えます:
「名前」列を「ヘッダー」として指定せずに、「1」、「2」、「data1」、「data2」などの単純な数値の「ヘッダー」を取得するにはどうすればよいですか。 (または、そのための列が必要ですか?)
私の目標は、返されたJSONのすべての「行」の値を処理することです。
jQ $ .each関数を使用する予定です。$.each(data, function(dataNum, dataInfo)
たとえば、data1はdataNumに渡され、値はdataInfoに渡されます。また、によって特定のテーブル値にアクセスできますがdataInfo.name
、現在は機能していません。
事前に助けてくれてありがとう!