0
は、だから私は、単純なHTMLファイルを持っており、これが出力されます:PHPとAngularJS連想配列のループ
htmlファイルのコード:
<tr ng-repeat="(key, value) in items">
<td ng-bind="key"></td>
<td ng-bind="value"></td>
</tr>
アンギュラファイル
$scope.viewCart = function() {
$('#cartModal').openModal();
$http.get('../crud/cartCRUD/cart-data.php')
.success(function(data) {
$scope.items = data;
})
}
カート-data.php
print json_encode($_SESSION['cart_items']);
私$_SESSION['cart-items']
は、あなたが直接print_r($_SESSION['cart-items'])
を使用してPHPファイルにアクセスする場合、あなたは意志キーを含む連想配列(product id
)=>値(quantity
)
ですこれを得る:
Array
(
[35] => 23
[10] => 7
)
意味、私のHTMLファイルからの出力は正しいです。
私は、ng-repeat
にキーと値を表示する代わりに、セッション配列キー(product id
)を使用してmysqlデータベースから製品名を取得したいと考えています。今、このために
は私が
$statement = $conn->query("SELECT * FROM product WHERE id IN (".implode(',',array_keys($_SESSION['cart_items'])).")");
while($row = $statement->fetch()) {
$data[] = $row;
}
print json_encode($data);
とhtmlファイルにやったことです:
<table>
<thead>
<tr>
<th>Name</th>
<th>Price</th>
<th>Quantity</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="item in items">
<td ng-bind="item.name"></td>
<td ng-bind="item.price"></td>
<td>HOW TO OUTPUT THE QUANTITY</td>
</tr>
</tbody>
</table>
問題は、私はもう鍵ペア(量)の値を取得することはできませんですが、これは動作します。これには適切な方法がありますか?
使用することができますwhile文。 – FewFlyBy
あなたは 'item.quantity'を使って数量にアクセスしますか? –
はい、データが取得できません。コンソールログには未定義のインデックスカートアイテムが表示されます – FewFlyBy