我想插入多个选中的复选框值以插入一列, 当我搜索它时,我发现用逗号追加值并插入表中 例如:
ID Value
-------------------
1 Veg
2 Non-Veg
3 Chinese
4 Italian
如果用户选择1 3 4,则用逗号(如1,3,4)附加并插入表格。 用逗号附加不是有效的方式,还有其他方法吗?请帮我 提前致谢
答案 0 :(得分:1)
二进制数怎么样? 例如:
0101
意思
checkbox 1 : true
checkbox 2 : false
checkbox 3 : true
checkbox 4 : false
在db中它将被存储为5(二进制0101的十进制值)
唯一的问题是,如果您想搜索用户,例如复选框3已选中。
在这种情况下,只需为每个复选框用户检查添加行。搜索复选框时,您将获得带有复选框ID的多行。我相信这实际上是最好的选择。
答案 1 :(得分:1)
假设 table就像order_id 33一样 表A
order_id item_id
33 1
33 3
33 4
你可以通过内部联接获得价值 上面的表和项目,值表
(select * from tableA inner join tableB on tableA.item_id=tableB.item_id)
tableB的
item_id value
1 Veg
2 Non-Veg
3 Chinese
4 Italian
试试这个
$order_id=33;
$ids=$_GET['ids']; // $ids= 1,3,4
$ids_Split= explode(",", $ids);
$cnt=count($ids_Split);
for($i=0;$i<$cnt;$i++)
{
mysql_query("insert into hotel_table(order_id,item_id)
values ($id, $ids_Split[$i])");
}
答案 2 :(得分:0)
您不应该在一列中放置多个值,这会违反数据库的第一个叙述形式:http://en.wikipedia.org/wiki/First_normal_form
只需要每个布尔字段的列。
答案 3 :(得分:0)
创建链接表,您可以在其中追加多行(每个选择1个)将是我想到的第一件事......