2013-03-21 659 views
0

有没有什么好的解决方案可以在一个MySQL字段中存储HTML多选字段?HTML多选择存储在MySQL中

我曾经尝试过使用5列的MySQL表格,其中一个<select>有5个选项,但这对于40-50个选择框或例如多个国家/地区的选择器并不那么舒服。

<select id="country" multiple="multiple"> 
    <option value="1">USA</option> 
    <option value="2">Canada</option> 
    <option value="3">Peru</option> 
    ... 
</select> 

在MySQL查询我想使用多个值太大,像这样:

SELECT * FROM tbl1 WHERE country IN (1,5,20,55); 

有什么数据结构或数据类型......什么来存储这些搜索?

+0

东西像select2? http://ivaynberg.github.com/select2/ – 2013-03-21 18:30:53

+0

你听说过多对多的关系吗? – darma 2013-03-21 18:32:34

+0

不...我有一个大的HTML格式,146个问题,所有多选择类型。我怎样才能将这个存储在MySQL中最简单?字符串数据类型不太好,因为数据表有100.000+条记录。它会很慢。 – netdjw 2013-03-21 18:53:30

回答

0

为每个只存储Where In字符串的用户提供一个查询列。 然后你可以得到该字符串

SELECT string FROM users WHERE id = userid 
variable = queryresults; 

SELECT * FROM tbl1 WHERE country IN (variable);