所以我有一个简单的html文件,这是输出:
html文件代码:
<tr ng-repeat="(key, value) in items">
<td ng-bind="key"></td>
<td ng-bind="value"></td>
</tr>
Angular文件
$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']
是一个包含密钥(product id
)=&gt;的关联数组。价值(quantity
)
如果使用print_r($_SESSION['cart-items'])
直接访问php文件,您将获得:
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>
这有效但问题是我无法再获得密钥对(数量)的值。这样做是否有正确的方法?
答案 0 :(得分:0)
在de de while语句中,您可以使用
$row["quantity"] = $_SESSION["cart-items"][$row["id"]];