2016-11-18 12 views
2

私の最初の質問。通常は自分のために見つけますが、これは私を殴られてしまいました。
データベースオブジェクトに格納されたデータベース行データにアクセスする方法

Array ([0] => Array ([cat_id] => 1 [cat_name] => Friends [checkbox] => checked) [1] => Array ([cat_id] => 2 [cat_name] => Favourites [checkbox] => checked) [2] => Array ([cat_id] => 3 [cat_name] => Drink [checkbox] => checked) [3] => Array ([cat_id] => 4 [cat_name] => Food [checkbox] => checked) 
<br> 

私が使用してエンコード:

$sql = "SELECT * FROM categories"; 
$result=$conn->query($sql); 
$arr = $result->fetch_all(MYSQLI_ASSOC); 


print_r($arr) 

が私にこの出力を与えた:

は、Ajax送信要求の後、私は私のDBからすべての行とcolsを取得するには、このPHPコードを使用しました:

echo json_encode($result); 

次に、データをjs変数に:

result = Request.responseText; 
var categories = JSON && JSON.parse(result) || $.parseJSON(result); 

カテゴリに格納されたデータの行にアクセスするにはどうすればよいですか?私はカテゴリとして働いているJSONが今ではタイプ[Object object]であると推測することができますが、チェックする方法はわかりません。

答えて

1

categoriesは配列である必要があります。これをテストするには、

console.log(categories.length); 

これで、配列のサイズ(行数)が出力されます。これは期待された結果を返す場合は、行を反復処理するために、単純なforループを使用します。

for (var i = 0, c = categories.length; i < c; ++i) { 
    console.log(categories[i].cat_name); 
} 

あるいは、コールバック関数でArray.forEachを使用します。

categories.forEach(function(category) { 
    console.log(category.cat_id + ' = ' + category.cat_name); 
}); 
+0

ヒントとコールバック関数については以下のようにソートしましたが、後でそのコードが必要になります。 – Bossfi

0

私は今朝目が覚めたと固定これは前にこの日を見て何時間も過ごした後、15分以内に自分自身です。

echo json_encode($result); //wrong variable 

は次のようになります。自己へ

echo json.encode($arr); // correct variable 

注:その上に睡眠!

関連する問題