来自SQL的ColdFusion ValueList

Lee*_*eeB 1 sql coldfusion jquery

我正在尝试在ColdFusion中创建一个值列表.基本上,我希望用户能够将他们的乐队成员输入到各个领域.然后,在提交时,任何存在的值都将作为字符串而不是单个文本值存储到我的数据库中.从数据库中检索它时,运行它并使用逗号作为分隔符并再次单独拆分值.在纸上和我脑海里听起来很简单,但我无法理解它.任何帮助,将不胜感激 :)

Sey*_*sen 5

如果你真的想要使用该解决方案,你可以简单地使用listToArray+ cfloop或只是cfloop获取个人名称:

<CFSET list_names = "John ,Luke, Bob" /> <!--- this should be the value from your db field --->
<CFSET array_names = listtoarray(list_names) />

<CFLOOP array="#array_names#" index="name">
    #name# is in the band<br />
</CFLOOP>
Run Code Online (Sandbox Code Playgroud)

或者直接使用列表并循环遍历它:

<CFSET list_names = "John ,Luke, Bob" /> <!--- this should be the value from your db field --->

<CFLOOP list="#list_names#" index="name">
    #name# is in the band<br />
</CFLOOP>
Run Code Online (Sandbox Code Playgroud)

但是......我会将乐队成员名称保存在一个单独的表中 - 例如:

bands:

| id | bandname  |
+----+-----------+
| 1  | The Hives |
Run Code Online (Sandbox Code Playgroud)

bands_members:

| band_id | name                   |
+---------+------------------------+
|   1     | Howlin’ Pelle Almqvist |
|   1     | Nicholaus Arson        |
|   1     | Vigilante Carlstroem   |
Run Code Online (Sandbox Code Playgroud)

  • 是的我同意,你的乐队成员应该与包含乐队的表分开.然后,您可以在SQL上将它们"加入"公共ID.我会避免将band成员存储为band表中列中的字符串.最好将这种"一对多"关系用于未来目的. (4认同)