2017-09-02 13 views
1

セッション数に応じてMySQLデータベースから複数の項目をフェッチしてエコーしたい。セッション結果量に応じたエコーアイテム

例:

id | qty | item 

    1 | 2 | shoe 

    2 | 4 | net 

    3 | 3 | phone 

私の結果セットは次のようにする必要があります:

shoe, shoe 
net, net, net, net 
phone, phone, phone 

私が試した:

if(isset($_SESSION["cart_products"])) 
    foreach ($_SESSION["cart_products"] as $each_item){ 
     $item_id = $each_item['item_id']; 
    $qty = $each_item['quantity']; 
     $sql = mysql_query("SELECT * FROM products WHERE id='$item_id' ORDER BY id"); 
     $qty = array(); 
    while ($row = mysql_fetch_array($sql)) { 
     $qty[] = $row; 
    }foreach($qty as $row){ 
     $product_name = $row["product_name"]; 
     } 
echo'$product_name'; 

をすべてのヘルプは高く評価されます。

答えて

0
if(isset($_SESSION["cart_products"])) 
    foreach ($_SESSION["cart_products"] as $each_item){ 
     $item_id = $each_item['item_id']; 
     $qty = $each_item['quantity']; 
     $sql = mysql_query("SELECT * FROM products WHERE id='$item_id' 
       ORDER BY id"); 
     while ($row = mysql_fetch_array($sql)) { 
      $qty = $row['qty']; 
      for($i=0; $i < $qty; $i++){ 
       echo $row['item'].' ';  
      }//end for 
      echo '<br>';//go to next-line  
     }//end while 
}//end foreach 
+0

$ qtyはセッション結果であり、データベース結果ではなく、このような場合はデータベースに列がありません。 <?php session_start(); には「mysql.php」が含まれています。 ?> if(!isset($ _ SESSION ["cart_array"])|| } else { foreach($ _ SESSION ["cart_array"]を$ each_itemとして){ $ item_id = $ each_item ['item_id']; $ qty = $ each_item ['quantity']; $ sql = mysql_query( "SELECT * FROM products from '$ item_id' ORDER BY id '); while($ row = mysql_fetch_array($ sql)){ for($ i = 0; $ i <$ qty; $ i ++){ $ y = $ row ['product_name']; } echo '$ y'; } } } ?> –

関連する問題