Database Coldfusion添加多行-多数组和序列化数据

Database Coldfusion添加多行-多数组和序列化数据,database,arrays,serialization,coldfusion,Database,Arrays,Serialization,Coldfusion,所以我有一些数据需要添加到我的数据库中,这是一个4位数的年份和一些文本(限制在300个字符左右) <cfinput name=year_of_achievent /><cfinput class=text name=achievement /> 问题是这些行必须动态添加。对于一个用户来说,这可能是他们的第一年,因此没有成就,这很好。一般来说,用户将有2到6年的成就,但它必须是开放的 如果这些数据必须成对存储,那么最好的方法是在本地存储,然后在数据库中存储 我正在思考

所以我有一些数据需要添加到我的数据库中,这是一个4位数的年份和一些文本(限制在300个字符左右)

<cfinput name=year_of_achievent /><cfinput class=text name=achievement />

问题是这些行必须动态添加。对于一个用户来说,这可能是他们的第一年,因此没有成就,这很好。一般来说,用户将有2到6年的成就,但它必须是开放的

如果这些数据必须成对存储,那么最好的方法是在本地存储,然后在数据库中存储

我正在思考2D数组,但我不知道如何

(i) 在二维数组中添加/追加一行,如何在下面的数组中添加第四行? (ii)是否将序列化数据存储在我的表中

<cfset myArray[1][1] = '2010'>
<cfset myArray[1][2] = 'swam the english channel'>

<cfset myArray[2][1] = '2009'>
<cfset myArray[2][2] = 'Raised 1m for charity'>

<cfset myArray[3][1] = '2008'>
<cfset myArray[3][2] = 'ran NY marathon'>

如果有更好的方法来解决这个问题,你有什么想法吗?如果没有,你能提供一些语法来弥补我知识上的不足吗


谢谢

假设一个用户每年只能获得一项成就,不要使用2D数组,而是使用结构

<cfset stuAchievements = {}>

<cfset stuAchievements["2010"] = "swam the english channel">
<cfset stuAchievements["2009"] = "Raised 1m for charity">
<cfset stuAchievements["2008"] = "ran NY marathon">

换句话说:

<cfset stuAchievements[form.year_of_achievement] = form.achievement>


为了存储它,我将其标准化为一个包含自己的成就的表,其中包含ID、年份、成就列和一个外键,并将其链接回用户。

谢谢,这就是我所做的。唯一的区别是我创建了一个会话变量,并将其作为我的结构,但这绝对是正确的方法。现在,我只需循环结构和插入器将键和值输入到我的表中。