2

我必须为作业进行基于 Web 的结帐并遇到问题,我导入了一个数据库并在表格中设置了数据,并在其旁边添加了复选框。我需要使用会话将参考号(首先存储在数组中)带到另一个页面上。通过使用 var_dump 我似乎无法从表中选择任何内容。代码:

按钮代码

<p><tr>
<input type="submit" name="Select" id="Select" value="Add Selected To Cart"/>  
</tr></p>

访问数据库代码(安全值已更改)

<?php
Accesses database
$con=pg_connect("host=hostname port=portnumbers
    dbname=name user=user password=password");
    if (!$con)
    {
        die('Could not connect to database');
    }
?>

数据库展示

//Creates table
echo "<table border='1'>\n<thead>\n<tr>\n";
echo "<th>Title</th>
<th>Platform</th>
<th>Description</th>
<th>Price</th>
<th>Buy</th>\n";

while($row = pg_fetch_array($res)){
echo"<tr>";
echo "<td>" . $row['1'] . "</td>";
echo "<td>" . $row['2'] . "</td>";
echo "<td>" . $row['3'] . "</td>";
echo "<td>" . $row['4'] . "</td>";
echo '<td><input type="checkbox" name="selected[]" value="' . $row['0'] .  '" /></td>';      
  echo"</tr>";    
  }

echo"</table>";
?>
4

1 回答 1

1

好吧,我认为您可以按照以下方式进行操作,因为您正在尝试改进购物车:

//Use the `$_SESSION` var to hold the values
foreach ($_POST['selected'] as $item)
    $_SESSION['cart'][$item] = $item; 

由于项目的 id 将被索引,因此每次执行提交时:

  • 如果该项目存在,将被替换
  • 如果该项目不存在,将被添加

为了删除项目,您应该使用“查看购物车”页面,然后显示项目:

foreach ($_SESSION['cart'] as $item)
    echo '<a href="delete-item?id=' . $item . '">' . $item . '</a>'; 
于 2012-11-29T20:06:23.857 回答