您的位置:首页 > 编程语言 > PHP开发

简化PHP数据提交的方法

2011-12-31 11:02 731 查看
PHP数据提交的方法很多,普通的方法是通过HTML页上面的文本框名称来POST到后台PHP程序中进行数据库的增加、删除、更新操作。这里提供另外一种可以复用的方法与思路,下面以SQLITE数据库为基础做个代码示范:

//user.php

<?php

require_once("Sqlite.php");//加载数据库类

//if (isset($_GET["user"]) and isset($_GET["passwd"])) {

$db=new Sqlite();//新建数据库类

$db->getConn();//建立数据库连接

?>

<h4>用户管理</h4>

<form enctype="multipart/form-data" action="user.php" method="POST">

<fieldset name="Group1">

<legend>用户信息</legend>

工 号:<input type="text" name="arr[gh]" /><br />

姓 名:<input type="text" name="arr[xm]" /><br />

部 门:<input type="text" name="arr[ss]" /><br />

<input class="inputbut" type="submit" name="add" value="新增保存"/>
<?php

if (isset($_POST["add"])) {

$rs=$db->AddLine('user',$_POST[arr]);

if ($rs>0) {echo "新增成功!";}

}

?>

//sqlite.php //数据库操作类

<?php

// 基类

class Sqlite {

public $sth;

public $dbh;

/*

var $DB;function Conn()

{

}

*/

function getConn(){ //取得数据库连接

try{

//echo 'sqlite:'.dirname(__FILE__).'db';

$this->dbh = new PDO('sqlite:'.dirname(__FILE__).'/db', null, null);

$this->dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

}

catch (PDOException $e)

{

echo 'Connection failed: ' . $e->getMessage();

$this->dbh = null;

}

}

function AddLine($bm,$arr){ //插入记录参数$bm(表名),$arr(字段数组)

$zd='';

$nr='';

foreach($arr as $key=>$val){ //此处的$key 和$val 都是自定义的

$zd=$zd."'$key',";

$nr=$nr."'$val',";

}

$zd=substr($zd,0,strlen($zd)-1);

$nr=substr($nr,0,strlen($nr)-1);

$sql="insert into $bm ($zd) values ($nr)";

//echo '$zd='.substr($zd,0,strlen($zd)-1).'<br>';

//echo '$nr='.$nr.'<br>';

$rs=$this->dbh->exec($sql);

return $rs;

}

}

?>

用以上的AddLine来插入记录,不管是什么样的数据库表结构都可以应付不如,而不用重写insert的方法。原理就是应用PHP可以将HTML中arr[xxx]这样的name名识别成数组,然后利用PHP将这些数组里的键值与内容分解出来处理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: