将复选框的内容存入数据库,如何提交检索效率
现有一个选择项,比如“大家喜欢的编程语言”,有5个可选项,比如 java , c, php ,c++ ,vc 。
如果这个选择项是单选的话,那很简单,把选项对应的序号,比如1-5,写入数据库,数据表的字段也可以设置成int,并且加上索引,这样检索的速度会很快。
但如果这个选项是多选的话,怎么处理呢?
最常规的做法,是把选中的多个项目用分隔符相连,写入数据库。
如下 写入的内容是
“,1,3,”
“,2,3,”
“,1,2,3,”
“,2,3,5”
等等
这样数据表的字段就不能是int了,必须是char了。
并且在检索所有喜欢php的人 的sql 只能用
字段 like '%,2,%' 了
这样的效率肯定不高。
请问大家有没有什么好办法,对付这些把复选框数据写入数据库,然后做检索的!!
谢谢!!!