我正在使用数据库和PHP制作假工具租赁程序。此代码从数据库获取信息,将其存储在名为$records
的变量中,然后创建包含该信息的表。我试图将列 tool_id 中的值存储为复选框的值,并将所选值传递给数组以生成购物车,但数组始终为空。
function drawTable($records) {
$count = 0;
$info = getToolInfo($records);
echo "<table style='text-align:center;margin:0 auto;border:1px solid black'>";
echo "<tr style='border:1px solid black'>";
echo "<td style='border:1px solid black'>Add to cart</td>";
echo "<td style='border:1px solid black'>Tool Name</td>";
echo "<td style='border:1px solid black'>Price</td>";
echo "<td style='border:1px solid black'>Availability</td>";
echo "<td style='border:1px solid black'>More info</td>";
echo "</tr>";
foreach ($records as $record) {
echo "<tr stlye='border:1px solid black'>";
echo "<td style='border:1px solid black'><input type='checkbox' name='cart[]' value=".$record['tool_id']."></td>";
echo "<td style='border:1px solid black'>".$record['name']."</td>";
echo "<td style='border:1px solid black'>$".$record['price_total']."</td>";
echo "<td style='border:1px solid black'>".$record['status']."</td>";
echo "<td style='border:1px solid black'><button tpye='button' onclick='var info=".json_encode($info[$count]).";displayPopup(info);'>More Info</button></td>";
echo "</tr>";
$count++;
}
echo "</table>";
}
此代码是我尝试在名为cart.php的另一个文件中访问该数组的地方,但该数组始终为空。
session_start();
if (!isset($_SESSION['cart'])) {
$_SESSION['cart'] = array();
}
$cart = $_GET['cart'];
foreach ($cart as $tool) {
$_SESSION['cart'][] = $tool;
echo $tool . "<br/>";
}
答案 0 :(得分:1)
表单完成工作。请尝试以下代码,其中表格包装在表格中,购物车数据将在提交时发送到cart.php。
echo "<form method='get' action='cart.php'><table style='text-align:center;margin:0 auto;border:1px solid black'>";
echo "<tr style='border:1px solid black'>";
echo "<td style='border:1px solid black'>Add to cart</td>";
echo "<td style='border:1px solid black'>Tool Name</td>";
echo "<td style='border:1px solid black'>Price</td>";
echo "<td style='border:1px solid black'>Availability</td>";
echo "<td style='border:1px solid black'>More info</td>";
echo "</tr>";
foreach($records as $record){
echo "<tr style='border:1px solid black'>";
echo "<td style='border:1px solid black'><input type='checkbox' name='cart[]' value=".$record['tool_id']."></td>";
echo "<td style='border:1px solid black'>".$record['name']."</td>";
echo "<td style='border:1px solid black'>$".$record['price_total']."</td>";
echo "<td style='border:1px solid black'>".$record['status']."</td>";
echo "<td style='border:1px solid black'><button tpye='button' onclick='var info=".json_encode($info[$count]).";displayPopup(info);'>More Info</button></td>";
echo "</tr>";
$count++;
}
echo "<tr><td><input type='submit' value='Got to cart'></td></tr></table></form>";
答案 1 :(得分:0)
如果购物车复选框字段不为空,请使用表单,添加方法=&#34; POST&#34;和cart.php的行动。提交表单后,通过POST [&#39; cart&#39;]在cart.php中获取表单字段。