我有两个数组$ _SESSION [' fff']有数量,另一个是$ result,它是从mysql数据库中提取的,包括产品名称,价格和重量,我需要建立一个表,其中包含数据库中的数据和会话变量数组中包含的数量
$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 :(得分: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++;
}
答案 1 :(得分: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 [&#39; fff&#39;]中的数组键不是数字,请在循环前添加以下内容:
$session = array_values($_SESSION['fff']);
然后在循环中使用$session[$i]
访问值。