gpt4 book ai didi

php - 如何检查复选框是否被选中,并执行必要的查询来更新相应的表?

转载 作者:行者123 更新时间:2023-11-29 01:41:35 24 4
gpt4 key购买 nike

HTML

<label for="wall_category">Wall Category:</label>
<input type="checkbox" name="wallpaper"> Wallpaper
<input type="checkbox" name="photography"> Photography

PHP

//obtains last insert id
$wallId = mysql_insert_id();
echo $wallId;

我的数据库中有 categories 表,其中存储了以下数据:

category_id  category_name
1 Wallpaper
2 Photography

我还有另一个名为 wall_categories 的表,其中:

wall_id (P, F)    category_id (P, F)

从last_insert_id 得到wall_id 后,我想检查两者中的哪个类别被检查。例如,选中了 Wallpaper 复选框,因为 category_id1,我想将 category_id 与无论 wall_id 将是我的 wall_categories 表。所以我的表将变成(假设 wall_id16)

wall_id (P, F)    category_id (P, F)
16 1

最后一件事要添加,因为类别是复选框,当两者都被选中时,我想将两者都添加到我的 wall_categories 表中,这样我的 wall_categories 表将变成:

wall_id (P, F)    category_id (P, F)
16 1
16 2

我正在尝试一些解决方法,但我仍然是 PHP 的新手。想请教你如何做到这一点。谢谢! (该脚本将仅在内部使用。)

最佳答案

HTML

<form action="process.php" method="POST">
<label for="category">Wall Category:</label>
<input type="checkbox" name="category[]" value="1"> Wallpaper
<input type="checkbox" name="category[]" value="2"> Photography
</form>

如果你想进行复选框输入,我建议你按照上面的脚本来做。 category[] 将是一个数组,可以包含诸如 12(您的类别 ID)之类的值。
因此,在将其插入数据库之前,您必须在服务器端 (PHP) 对其进行解析。如果您设置自动生成的 wall_id 列值,您会得到一些错误,因为 wall_id 将与之前的 wall_id 不同。所以我建议您将其设置为自动但手动定义(没听懂我的话?我会解释的)。
这是 PHP:

<?php
$con = mysqli_connect("host","username","password","database_name");
//First get the category from input
$checked = $_REQUEST['category']; // it's an array

//--------get last
//Then you have to get the last wall_id from your wall_categories table
//and add it 1 (+1)
$q1 = mysqli_query($con,"SELECT MAX(wall_id) as last_wall_id from wall_categories"); // get last wall_id
$last = mysqli_fetch_array($q1);
$next_wall_id = $last['last_wall_id']+1;//+1 last wall_id for next wall_id
//-------end of get last

foreach($checked as $cat){
mysqli_query($con,"INSERT INTO wall_categories (wall_id, category_id) values ('$next_wall_id','$cat') ");
}
?>

如果您的wall_id 来自另一个表,请跳过get last 步骤。并通过从另一个表中获取的 wall_id 变量删除/更改 $next_wall_id
如果您想这样做,就可以了。任何问题?发现一些错误?在下面评论:D

关于php - 如何检查复选框是否被选中,并执行必要的查询来更新相应的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20061269/

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