2016-10-13 10 views
0

は、だから私は、単純なHTMLファイルを持っており、これが出力されます:PHPとAngularJS連想配列のループ

enter image description here

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> 

問題は、私はもう鍵ペア(量)の値を取得することはできませんですが、これは動作します。これには適切な方法がありますか?

答えて

0

インサイド・デ・あなたは申し訳ありませんが働いていない

$row["quantity"] = $_SESSION["cart-items"][$row["id"]]; 
+0

使用することができますwhile文。 – FewFlyBy

+0

あなたは 'item.quantity'を使って数量にアクセスしますか? –

+0

はい、データが取得できません。コンソールログには未定義のインデックスカートアイテムが表示されます – FewFlyBy