+ -
当前位置:首页 → 问答吧 → 数据提交思想

数据提交思想

时间:2007-09-04

来源:互联网

最近一直在考虑一种更方便的数据提交规则,

就POST来说,通常我大部分数据都是POST的,这样通常都是获取POST数组然后过滤,然后处理后提交到数据库,现在如果加入rails的思想提交数据,然后表单的字段变量和POST数组中的字段名称一致,并且跟数据库中的字段一样,这样就可以利用方法获取$_POST array中的key然后循环一下就可以不用写sql语句中的字段了,然后按照顺序$_POST中的value写进去就ok了,是不是一种很便捷的方法呢,在这个时代就是一个要求敏捷的时代.

CODE:

[Copy to clipboard]



CREATE TABLE `table` (
  `id` int(255) unsigned NOT NULL auto_increment,
  `username` varchar(255) NOT NULL default '',
  `age` varchar(255) NOT NULL default '',
  `address` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;


CODE:

[Copy to clipboard]



<?php   
if(!emptyempty($_POST)){   
    foreach ($_POST as $key=>$val)   
        {   
            $sql.=$key.",";   
            $value.="'".$val."',";   
        }   
    mysql_connect("localhost","root","troysqlserver");   
    mysql_select_db("tryease");   
    mysql_query("INSERT INTO `table` (".substr($sql, 0, -1).")VALUES(".substr($value, 0, -1).")");   
    echo "INSERT INTO `table` (".substr($sql, 0, -1).")VALUES(".substr($value, 0, -1).")";   
}   
?>   
<form action="" method="post">   
<input type="text" name="username" />   
<input type="text" name="age" />   
<input type="text" name="address" />   
<input type="submit" value="提交" />   
</form>   
这样做不过需要一些函数将一些数据处理,做过滤,做安全,然后才能提交到数据库.
具体数据的类型转换,过滤等等,因涉及的数据字段不一样,所以大家就自行处理了.
这里只是提出一种思想.仅供大家参考.

作者: samsung   发布时间: 2007-09-04

:) 恩.很多程序都这样了现在

作者: 逆雪寒   发布时间: 2007-09-04

这样做,页面字段名和数据库要统一才可行,麻烦哦!

作者: wedypei   发布时间: 2007-09-04

楼主自己想到这点很不错,偶以前就是傻傻的,后来学了adodb的GetUpdateSQL才发现好用啊。
你这个处理基本上就是GUS的做法,不过那个更智能一些,可以参考一下adodb的源码。

作者: hotbone   发布时间: 2007-09-04