如何使用查询将动态表单数据从javascript保存到数据库

时间:2011-02-28 23:27:39

标签: php javascript mysql

所以我有一个制作动态表单内容的脚本,每个输入的名称都是“field-1”,“field-2”等,直到最后一个输入由脚本创建。

如何保存表格中的表格?

我只知道如何以传统方式执行此操作,您可以使用5个静态输入并为其提供静态名称和ID,然后使用post或get go表示mysql_query。

但在我的情况下,输入范围可以是3到200个输入。并且每个都有类似的名称/ id“field + num ++”

我的HTML代码:

<form id="myForm">

我的JS代码将附加到我的HTML表单:

    var $int = $('div.int');
    $int.html(function(i, html) {
        return html.replace(/(\d+)(.+)/,function(str,s1,s2){
            var text = s2.split('.');
            var text2 = text[1].split('-');
            var text3 = text2[1].split(' ');
            return '<input class="r" name="scene-"' + s1 + ' value="'+ s1.replace(/^\s*/, '').replace(/\s*$/, '') +'" />' +
            '<input class="r" name="int_ext-"' + s1 + ' value="'+ text[0].replace(/^\s*/, '').replace(/\s*$/, '') +'" />' +
            '<input class="r" name="scene_desct-"' + s1 + ' value="'+ text2[0].replace(/^\s*/, '').replace(/\s*$/, '') +'" />' +
            '<input class="r" name="day_night-"' + s1 + ' value="'+ text3[1].replace(/^\s*/, '').replace(/\s*$/, '') +'" />';
        });
   });

我的HTML代码:

<input type="submit" value="Submit" />
</form>

2 个答案:

答案 0 :(得分:1)

如果您为您的字段命名,例如foo[]您将获得包含所有值的数组$_POST['foo']。你也可以迭代$_POST中的元素 - 无论你喜欢什么。但迭代所有POST数据可能不是最好的想法..

答案 1 :(得分:0)

当您将数据发送到后端服务器时,您的脚本需要以自由格式将数据添加到数据库

在数据库中创建一个表,该表可以接受字段的名称以及字段中的值

e.g。该表可能包含以下字段

id (primary key)
field_name char(20) 
value char(255)
form_name char(20)
form_id char(40)

这样您就可以以自由格式存储信息。您没有绑定到特定的字段名称,您需要能够确定哪些字段属于哪种形式,这就是为什么两个字段form_name和form_id form_name是生成的表单名称 form_id是唯一提交的表单标识符。

字段类型是任意的,您可能希望使它们具有不同的长度甚至类型

这有意义吗?

DC

P.S。进入数据库时​​不要忘记所有正常的安全问题。