【发布时间】:2013-12-10 19:22:34
【问题描述】:
我正在尝试将已发布的网络表单中的数据存储在 MySQL 数据库中。
通常,对于简单的文本或数字输入,每个输入都有一个与特定问题相关的 ID,因此每个答案都会在“答案”表中创建一个新记录
例如
<input type="text" value="hello" id="qid_101" name="q_101">
发布后,我使用 php 去除 qid 编号并将其存储到该值。
但是,当复选框组发布数据时,结果是一个数组,即
<div class="checkboxes">
<div>
<input type="checkbox" value="A " name="checkboxes[]" />
<span class="inline">a</span>
</div>
<div>
<input type="checkbox" value="B" name="checkboxes[]" />
<span class="inline">b</span>
</div>
<div>
<input type="checkbox" value="C" name="checkboxes[]" />
<span class="inline">c</span>
</div>
</div>
给我一个名为 checkboxes 的数组,我不能直接将其存储在数据库中。
Following the advise of others on SO我打算将数组内爆成一个字符串和故事,然后在引用它时再次爆炸。
我有两个问题:
1) 这对我来说是一种不好的做法,因为它正在对我的数据进行非规范化,但我想不出另一种方法来做到这一点(存储的答案对于用户和问题 ID 是唯一的 - 所以存储每个复选框针对相同问题 ID 的值会破坏网站的其他部分)
2) 内爆数组时使用什么好的分隔符 - 是否有一个我应该在 MySQL 中避免使用的字符列表以避免混淆?
【问题讨论】: