您好,欢迎访问一九零五行业门户网

根据数据库自动生成INSERT/UPDATE更新语句

数据|数据库|语句
在编写程序中,写添加和更新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 ;
}
            }
    }
?>
其它类似信息

推荐信息