现在开始使用php进行正式开发
谈正体:
在php上,对数据进行写入库,读出库及呈现到页面上都很方便。但是提交数据一般都是使用post方式,这就有个问题了,对于页面数据及控件多,
比如:
<input name="data" id="test1" value="测试1"> id对应表t的列 test1
<input name="data" id="test2" value="测试2"> id对应表t的列 test2
<input name="data" id="test3" value="测试3"> id对应表t的列 test3
对于页面上有很多这类数据,提交过去,取的内容的话php 使用$_POST[“data”] 取道的只是key 及对应的value ,我们无法判断对应key 和value应当对应哪个列名
但是如果使用 <input name="data['test3']" id="test3" value="测试3">
这样写的话,把列名当成key来写,是可以很容易获取到对应的列名信息。
由于页面上有对数据验证之类的处理,对于js取控件使用下面方法:
document.getElementsByName("data");
这 又是个问题,当然使用jquary等,或者其他通过tag来取都是很方便的,这些这里不考虑
对应在项目中,如果我 id使用表列来命名,这样对于当前页name="data" 的控件刚好构成对应表中的一行数据,而在php中刚好列名也是id名,这样写传数据就不用再去构造数组,直接真个数组提交到库就行了,省了很多步骤。
依此,我可以n层次提交n个表及m行类数据都很容易在页面上一次提交了
为了实现建立post传过来的是一个数组 array('test1=>'=’aaa'>','test2=>'='2');这样一个数组,我在提交之前用有个步骤是js对数据进行检测,比如格式是否正确只类的,如果一切都ok我就把数据拼成一个自己想要格式的数组,然后转成json字符串,存到某个hiddin控件中,post提交。而php的页只需要接收,对转移符"\"调用stripslashes处理下,然后使用json_decode函数就很容易还原成原有格式的数组。
这样对于js和php之间的数据交互就显得特别容易了
网络上有片js json和php串行化 交互数据的文章,我参考很多都是从这来的
原文地址:http://hi.baidu.com/lostdays/blog/item/8d76c300ec4e3c15738b65fa.html