我正在使用数据库和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/>";
}
表单完成工作。试试下面的代码,其中表格被包装在一个表单中,购物车数据将在提交时发送到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>";
如果购物车复选框字段不为空,则使用form,添加method =" POST"和action为cart.php。提交表单后,在cart.php中通过POST['cart']获取表单字段。