gpt4 book ai didi

php - 复选框输入和数据库搜索

转载 作者:搜寻专家 更新时间:2023-10-31 21:54:38 25 4
gpt4 key购买 nike

我正在标记电影并将其存储到数据库中。tag_id 可以是汽车、火车、轮船,详细信息可以是颜色或特定类型。

DB
movie_id | tag_id | tag_detailsid
2612 | 75 | 1
2612 | 10 | 3
2612 | 12 | 2

标签通过带有复选框的表单提交(所有选中的复选框都添加到数据库中)

现在..我如何跟踪我取消选中的复选框......在稍后阶段所以看看上面的例子.. 对于 movie_id 2612,我取消选中 id 为 2 的标签 12 作为详细信息。

所以 $_POST 只包含 75-1 和 10-3....12-2 应该从 dB 中删除。

所以我想..我只是用一个 while 循环遍历 dB,并将 db 值与我从复选框中获得的值(通过 $_Post 方法)进行比较。我计算 $_Post 中的值,它显示 2(已选中复选框)。然而,数据库为该特定电影保留了 3 个条目($numberofrecords)。

到目前为止我的脚本...

$sql_query = "Select tag_id, tag_details_id FROM movie_tags WHERE movie_id = '2612";                              
$report = MYSQL_QUERY($sql_query);
$numberofrecords = mysql_num_rows ($report);

while ($report_row = mysql_fetch_array($report))
{
$thistag_id = $report_row['tag_id'];
$tag_details_id = $report_row['tag_details_id'];

foreach($_POST as $checkbox_id => $value)
{
if ($thistag_id == $checkbox_id) // check if DB tag equals checkbox value
{
echo "checkbox value is checked equals value in DB";
}
}
}

如何跟踪我需要从数据库中删除的记录?

最佳答案

有时最简单的解决方案就是要走的路。

除非您有令人信服的理由不这样做,否则您可以在保存之前简单地删除所有标记记录,然后仅插入那些已选中的标记记录:

使用 OP 选择的数据库驱动程序的示例代码

$sql = 'DELETE FROM movie_tags WHERE movie_id=2612';
mysql_query($sql);
foreach($_POST as $checkbox_id => $value) {
// save your records here
// To show you the code I'd need to see the HTML for the checkboxes.
}

注意:您不应该不使用 mysql_。使用 PDO/mysqli 代替:Why shouldn't I use mysql_* functions in PHP?

关于php - 复选框输入和数据库搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34577852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com