我正在尝试检查数据库显示中的值复选框。我检查了不同的值并单击更新数据库的提交按钮,其中更新值是复选框选中的值。
这是我的代码:
<?php
include "database_connection.php";
$cutomername = $_GET['username'];
$productid = $_GET['userid'];
$cust_id = $_GET['custid'];
$productid_arr = explode(',' , $productid);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> <?php echo $cutomername;?></title>
</head>
<body>
<form method="post" name="checkboxForm">
<?php
$query_flags = "select * from products";
$row_flags=mysql_query($query_flags);
$i=0;
while ($row = mysql_fetch_array($row_flags)){
$product_id = $row['product_id'];
$product= $row['product'];
if($productid_arr[$i] ==$row['product_id'])
{
$check = 'checked="checked"';
} else{
$check = '';
}
if(in_array($row['product_id'], $chvalues))
{
echo "<input type=\"checkbox\" name=\"checkbox[]\" id=\"$product_id\" value='" . $row['product_id'] . "' $check />";
} else{
echo "<input type=\"checkbox\" name=\"checkbox[]\" id=\"$product_id\" value='" . $row['product_id'] . "' $check/>";
}
echo $row['product'];
echo "<hr />";
$i++;
}
?>
<input class="submit" type="submit" value="Submit" name="submit">
<?php
$chvalues = array();
if(isset($_POST['checkbox']))
{
foreach($_POST['checkbox'] as $ch => $value)
{
$chvalues[] = $value;
}
}
$des_prod_id = implode(',' , $chvalues);
$query = mysql_query("UPDATE customer SET product_id = '$des_prod_id' where ID = '$cust_id'");
?>
</form>
</body>
</html>
答案 0 :(得分:0)
更改此行:
$query = mysql_query("UPDATE customer SET product_id = $products where customer_name = $cutomername");
为:
$query = mysql_query("UPDATE customer SET product_id = $value where customer_name = $cutomername");
$products
应为$value
,因为您在foreach循环中迭代并将每个元素分配给此变量。
答案 1 :(得分:0)
最后我解决了这个问题
这是我的代码:
<?php
include "database_connection.php";
$cutomername = $_GET['username'];
$productid = $_GET['userid'];
$cust_id = $_GET['custid'];
$productid_arr = explode(',' , $productid);
if(isset($_POST['submit']))
{
$productid_arr = array();
foreach($_POST['checkbox'] as $ch => $value)
{
$productid_arr[] = $value;
}
$des_prod_id = implode(',' , $productid_arr);
$query = mysql_query("UPDATE customer SET product_id = '$des_prod_id' where ID = '$cust_id'");
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> <?php echo $cutomername;?></title>
</head>
<body>
<form method="post" name="checkboxForm">
<?php
$query_flags = "select * from products";
$row_flags=mysql_query($query_flags);
$i=0;
while ($row = mysql_fetch_array($row_flags)){
$product_id = $row['product_id'];
$product= $row['product'];
if(in_array($product_id, $productid_arr))
{
$check = 'checked';
} else{
$check = '';
}
echo "<input type=\"checkbox\" name=\"checkbox[]\" id=\"$product_id\" value='" . $row['product_id'] . "' $check />";
echo $row['product'];
echo "<hr />";
$i++;
}
?>
<input class="submit" type="submit" value="Submit" name="submit">
</form>
</body>
</html>