php 自动更新数据库,根据数据库自动生成INSERT/UPDATE更新语句-PHP教程,数据库相关...

在编写程序中,写添加和更新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<=$n; $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 <= $n; $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 <= $n; $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 < $n; $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 "";

}

}

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值