【发布时间】:2013-09-03 16:44:35
【问题描述】:
我有一个用户可以填写的表格,我希望在 MySQL 数据库中搜索用户选择的条目。例如,如果用户输入一个关键字,并检查选项 2 和 3,我想在数据库中搜索关键字 AND 选项 2 AND 3。
我不确定如何设置数据库。对于每个选项,我是否需要在表中添加一个额外的列,或者有没有办法在表中存储一个数组?我想到的另一种技巧是为选项设置一个单独的表。
我以前见过这样做,但我不确定执行是否正确。如果有人知道这样做的正确方法,那就太好了。
编辑:这是一个地点数据库(例如,音乐商店),选项是出售的不同乐器。现在,当用户填写表格时,我想返回名称包含“关键字”字符串的商店列表,并且这些商店出售用户选择的工具。
我不确定如何设置数据库以进行正确的查询。我应该将每个选项作为一个单独的带有布尔值的列,还是可以有一个带有布尔值数组的列?
注意:“仪器”只是众多选项之一。我还希望能够按其他条件进行过滤
HTML:
<form>
<input type="text" name ="Keyword" value="keyword"/><br/>
Option 1<input type="checkbox" name="Option 1" value="option1"/><br/>
Option 2<input type="checkbox" name="Option 2" value="option2"/><br/>
Option 3<input type="checkbox" name="Option 3" value="option3"/><br/>
Option 4<input type="checkbox" name="Option 4" value="option4"/><br/>
<button type="submit">Submit</button>
</form>
建议的数据库结构:
id | store_name | guitar | piano | saxophone | cello |
1 mike\'s music true false false true
或者:
id | store_name | instruments |
1 mike\'s music Array[2]
【问题讨论】:
-
您缺少
name属性,这几乎是强制性的 -
我认为您需要向我们提供有关数据的更多信息。目前尚不清楚您的数据库、表和列等中可能有什么样的数据,因此很难进一步评论。
-
不太明白您的意思,但是您可以将选择的选项与某个分隔符连接起来并存储。
标签: php mysql sql database forms