2017-06-21 54 views
-1

我有兩個數組$ _SESSION ['fff']有數量,另一個是從mysql數據庫中提取的結果,包括產品的名稱,價格和重量,我需要建立一個包含數據的表從數據庫和包括會話變量數組如何使用while循環合併foreach循環來構建html表?

$wherein = implode(",", $_SESSION['cart']); 
$sql = "select id, item_name, Price, Weight from items where id IN 
($wherein)"; 
$result= mysqli_query($conn, $sql); 
echo "<table style='width:100%' border='1' >"; 
echo "<tr>"; 
    echo "<th> Product Name</th>"; 
    echo "<th>Product Price </th>" ; 
    echo "<th>Weight </th>" ; 
    echo "<th>Quantity </th>" ; 


    echo "</tr>"; 
$sum = ''; 
$s= ''; 
while (($row = mysqli_fetch_array($result, MYSQLI_ASSOC))) && 
foreach($_SESSION['fff'] as $value){ 
$sum += $row['Price']; 
$s += $row['Weight']; 

echo "<tr>"; 
    echo "<td>" . $row['item_name'] . "</td>"; 
    echo "<td> $". $row['Price'] . "</td>" ; 






    echo "<td>". $row['Weight'] ; 









    echo "<td>".$value."</td>"; 




    } 

我一直在嘗試了幾個小時,現在網上搜索和嘗試不同的方法,但未能得到解決的數量。謝謝。

+0

您不能像這樣「合併」這些循環,如果您發現需要這樣的話,那麼您的邏輯有些問題。你能描述一下它應該如何工作,這樣我們才能找到解決方案? – Enstage

+0

我有兩個數組$ _SESSION ['fff']有數量,另一個是從mysql數據庫中提取的結果,包括產品名稱,價格和重量,我需要建立一個表,其中包含數據數據庫和會話變量數組中包含的數量 – hossam

+0

$ _SESSION ['fff']中的數據如何鏈接到結果集中的數據? – Enstage

回答

0

會話值分配給變量像

$session_var = $_SESSION['fff']; 

唐`使用的foreach() 聲明變量

$i=0; 
while(($row = mysqli_fetch_array($result, MYSQLI_ASSOC))) 
{ 
$sum += $row['Price']; 
$s += $row['Weight']; 
echo "<tr>"; 
    echo "<td>" . $row['item_name'] . "</td>"; 
    echo "<td> $". $row['Price'] . "</td>" ; 
    echo "<td>". $row['Weight'] ; 
    echo "<td>".$session_var[$i]."</td>"; 
    $i++; 
} 
+0

,非常感謝你..... :) – hossam

0

你能做到像這樣:

for($i = 0; $row = mysqli_fetch_array($result, MYSQLI_ASSOC); $i++) { 
    // access rows using $row 
    // access corresponding session data using $_SESSION['fff'][$i] 
} 

如果你的$ _SESSION ['fff']中的數組鍵不是數字,請在循環前添加以下內容:

$session = array_values($_SESSION['fff']); 

然後在循環中使用$session[$i]訪問值。