数据|数据库|语句
在编写程序中,写添加和更新sql语句是一个比较烦琐的过程,特别是在表结构比较复杂的时候
这个程序主要是根据数据表格式自动生成添加/更新的sql语句,然后由程序员直接加入到程序中,方便编程
下面是文件,方法建立一个单独的文件,按照下面的说明建立相关文件,运行即可
index.php 索引文件
config.php 配置文件,转换get/post数据
addxxx.php 根据提交表格数据生成sql语句
addxxx2.php 根据数据库表信息生成sql语句,配置数据库在文件内部
@author bluemaple
----------------------------------------------------------
index.php文件
----------------------------------------------------------
自动生成模版
自动生成添加表格,并产生相关sql添加语句,生成update语句(简单版)
更数据表生成相关添加页面
----------------------------------------------------------
config.php文件
----------------------------------------------------------
/* 转换get和post数据 */
if (!defined('pma_grab_globals_included'))
{
define('pma_grab_globals_included', 1);
if (!empty($_get))
{
extract($_get);
}
else if (!empty($http_get_vars))
{
extract($http_get_vars);
} // end if
if (!empty($_post))
{
extract($_post);
}
else if (!empty($http_post_vars))
{
extract($http_post_vars);
} // end if
if (!empty($_files))
{
while (list($name, $value) = each($_files))
{
$$name = $value['tmp_name'];
}
}
else if (!empty($http_post_files))
{
while (list($name, $value) = each($http_post_files))
{
$$name = $value['tmp_name'];
}
} // end if
}
?>
----------------------------------------------------------
addxxx.php
----------------------------------------------------------
include(config.php);
if($action == )
{
echo
添加的表数目:
;
exit();
}
if($action == c)
{
echo ;
echo 添加到数据表:
方法(method):
提交表到(action):
;
echo ;
echo 编号 说明 表名(tablename) 值(value)
;
for($i = 1; $i {
echo ;
echo $i ;
echo ;
echo ;
echo ;
echo
;
}
echo
;
echo
;
echo ;
echo ;
echo ;
}
if($action == a)
{
echo 生成的插入sql语句;
if($submit)
{
if($t == ) $t = table;
$tname = ;
$tvalue= ;
// table ...
for($i = 1; $i {
$temp = n.$i;
$tname .= $$temp;
if($i != $n)
{
$tname .= , ;
}
$tempi = n.$i;
$tvalue .= '\$.$$tempi.';
if($i != $n)
{
$tvalue .= , ;
}
$usqli .= $$temp.='\$.$$tempi.';
if($i != $n)
{
$usqli .= , ;
}
}
$sql = insert into $t ($tname) values ($tvalue);;
echo $sql;
echo
;
$usql = update $t set .$usqli. where ***;
echo $usql;
echo ;
echo 生成表格 点右键查看源文件;
echo
;
for($i = 1; $i {
$etemp = e.$i;
$ntemp = n.$i;
$vtemp = v.$i;
echo
.$$etemp.
;
}
echo
;
echo ;
}
}
?>
----------------------------------------------------------
addxxx2.php
----------------------------------------------------------
include(config.php);
if($action == ) $action = d;
$mysqlserver = localhost;
$mysqlport = 3306;
$mysqluser = root;
$mysqlpwd = ;
if($action == 'd')
{
$mysql_id = mysql_pconnect($mysqlserver.:.$mysqlport, $mysqluser, $mysqlpwd);
if($db == )
{
$db_list = mysql_list_dbs();
echo 选择数据库
;
while ($row = mysql_fetch_object($db_list))
{
echo database.>.$row->database .
;
}
}
if($db != )
{
mysql_select_db($db);
$tresult = mysql_list_tables($db);
if (!$tresult)
{
echo db error, could not list tables\n;
echo 'mysql error: ' . mysql_error();
exit;
}
echo 数据库$db列表
;
while ($row = mysql_fetch_row($tresult))
{
print $row[0]
;
}
if($tname != )
{
$fields = mysql_list_fields($db, $tname);
$n = mysql_num_fields($fields);
echo
$tname表中:;
for ($i = 0; $i {
$name = mysql_field_name($fields, $i);
echo $name. ;
$tname .= $name;
$vname .= '\$.$name.';
$usqli .= $name.='\$.$name.';
if($i != $n-1)
{
$tname .= , ;
$vname .= , ;
$usqli .= and ;
}
//create table...
$table .=
.$name.
\n;
}
echo 生成表:
;
echo insert into $tname ($tname) values ($vname);;
echo
;
$usql = update $tname set .$usqli. where ***;
echo $usql;
echo ;
echo 生成表格 点右键查看源文件
\n;
echo
;
echo $table;
echo
;
echo ;
}
}
}
?>