2016-12-15 19 views
-4

カートから商品を表示しようとしていますが、以下のエラーが表示されます(下記参照)。私は本当に私が間違っていることを理解していない...説明と詳細な答えがいいだろう。成功しなかった私の問題に対する解決策を見つけようとしました。 私は理解しています未定義の変数の意味はありますが、私はこの特定の場合にどのように修正するのか分かりません。引数が無効ですforeach php mysqli

注意:未定義の変数:行

警告:

<html> 
    <body> 
     <table> 
      <tbody> 
<?php 
    require_once 'core/config.php'; 
    $cartQ = $db->query("SELECT * FROM cart"); 
    $result = mysqli_fetch_assoc($cartQ); 
    foreach ($row as $product) { 
     $productQuery = $db->query("SELECT * FROM product INNER JOIN cart ON product.id=cart.product_id "); 
     $product  = mysqli_fetch_assoc($productQuery); 

     while ($row = mysqli_fetch_assoc($cartQ)) { 
     } 
?> 
     <tr class="p"> 
      <td class="image"><img src="<?= $product['image_1']; ?>" /></td> 
      <td class="name"><?= $product['prod_name']; ?></td> 
      <td class="price"><?= money($product['price']); ?></td> 
     </tr> 

<?php 
    } 
?> 

      </tbody> 
     </table> 
    </body> 
</html> 
+1

エラーを見て、あなたのコードを見てください。どこに$行が定義されていますか? – Devon

+0

この行 'foreach($ row as $ product){'変数 '$ row'を見てください。上記の行では、あなたが参照しようとしていたかもしれないvar named '$ result'を設定しています。またはそれを参照する人の間にコードのブロックを外したかもしれません – happymacarts

+0

@デヴォン:おい、私は大丈夫日中歩いている。リラックス。 – Breathe

答えて

1

は、最初のクエリとforeachループを取り除くforeachのために供給無効な引数()、それらが必要としていません。 JOINクエリは、表示する必要があるすべての情報を返します。

<html> 
    <body> 
     <table> 
      <tbody> 
<?php 
    require_once 'core/config.php'; 
    $productQuery = $db->query("SELECT * FROM product INNER JOIN cart ON product.id=cart.product_id "); 
    while ($product = mysqli_fetch_assoc($productQuery)) { 
     ?> 
     <tr class="p"> 
      <td class="image"><img src="<?= $product['image_1']; ?>" /></td> 
      <td class="name"><?= $product['prod_name']; ?></td> 
      <td class="price"><?= money($product['price']); ?></td> 
     </tr> 

     <?php 
    } 
?> 

      </tbody> 
     </table> 
    </body> 
</html> 
+0

私はこれを昨日試してみましたが、動作していませんでした。私には睡眠が必要だ。ありがとう、相棒。 – Breathe

関連する問題