Php 在mysql中使用复选框存储和删除数据
我有一点问题,我试图用复选框存储数据,但我似乎无法解决。现在我已经制作了一个脚本,可以显示多个复选框,所有复选框都具有相同的名称。所以我现在的问题是,如何使发送数据的页面分离?比如:Php 在mysql中使用复选框存储和删除数据,php,mysql,checkbox,Php,Mysql,Checkbox,我有一点问题,我试图用复选框存储数据,但我似乎无法解决。现在我已经制作了一个脚本,可以显示多个复选框,所有复选框都具有相同的名称。所以我现在的问题是,如何使发送数据的页面分离?比如: <input type='checkbox' checked name='cpu-link[]' value='1' /> <input type='checkbox' checked name='cpu-link[]' value='2' /> <input type='checkb
<input type='checkbox' checked name='cpu-link[]' value='1' />
<input type='checkbox' checked name='cpu-link[]' value='2' />
<input type='checkbox' checked name='cpu-link[]' value='3' />
如何将其存储在mysql数据库的新行中的每个复选框中?
因此,这就像:
<input type='checkbox' checked name='cpu-link[]' value='1' />
<input type='checkbox' name='cpu-link[]' value='2' />
<input type='checkbox' name='cpu-link[]' value='3' />
然后,id为2和3的行将被删除,但id为1的行将被创建,或者如果它已经在数据库中,则只保留该行
这是两个表之间的一种链接。
我有一张带电脑的桌子,还有一张带硬件的桌子。
然后我有一个带有链接的表,所以如果我选择一个需要在机器中运行的硬件,它会在链接表中创建一行,这样当我显示pc时,它会显示硬件的可能性
对不起,我的英语不好。
提前感谢在数据库中哪里可以找到需要删除的数据?我只能看到您使用$previous\u checked创建了en数组,看不到您在哪里提供$previous\u checked需要删除的ID?我不提供ID给
$previous\u checked
。我这样做是为了$被删除它不工作,cpu链接不接收任何数据。我尝试在向$cpu\U链接发送数据后回显它,但它什么也不回显。最后一个mysql_查询中出现错误。“)”在第1行,您实际上将复选框命名错误。它必须是name=“cpu link[]”
它现在发布,但是现在$cpu link
正在上发布而不是值?
$all_cpu_links = array(); // here is your array with all possible values of cpu-link
$previously_checked = array(); // array of values that are already in your database
$to_be_removed = array();
$to_be_inserted = array();
// It is better to use here here a prepared statement by the way
foreach ($_POST['cpu-link'] as $cpu_link)
{
if (!in_array($cpu_link, $previously_checked))
{
// validate $cpu_link here
mysql_query("INSERT INTO table (`cpu_link`) VALUES (".$cpu_link.");");
}
}
foreach ($all_cpu_links as $cpu_link)
{
if (!in_array($cpu_link, $_POST['cpu-link']) && in_array($cpu_link, $previously_checked))
$to_be_removed[] = $cpu_link;
}
mysql_query("DELETE FROM table WHERE `cpu_links` IN (".implode(' ,', $to_be_removed).");");