0

0

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

php中文网

php中文网

发布时间:2016-06-21 09:09:12

|

1325人浏览过

|

来源于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 "";
        for($i = 1; $i        {
            echo "";
            echo "";
            echo "";
            echo "";
            echo "";
            echo "";
        }
        echo "";
        echo "
编号 说明 表名(TableName) 值(VALUE)
$i
";
        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 <= $n; $i++)
{
$etemp = "e".$i;
$ntemp = "n".$i;
$vtemp = "v".$i;
echo "


";
}
echo "




".$$etemp."
";

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 "
";                    
                      
                }
            }
    }
?>



本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

2

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

2

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

0

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

29

2025.12.24

yandex外贸入口合集
yandex外贸入口合集

本专题汇总了yandex外贸入口地址,阅读下面的文章了解更多内容。

58

2025.12.24

添加脚注通用方法
添加脚注通用方法

本专题整合了添加脚注方法合集,阅读专题下面的文章了解更多内容。

1

2025.12.24

重启电脑教程汇总
重启电脑教程汇总

本专题整合了重启电脑操作教程,阅读下面的文章了解更多详细教程。

3

2025.12.24

纸张尺寸汇总
纸张尺寸汇总

本专题整合了纸张尺寸相关内容,阅读专题下面的文章了解更多内容。

5

2025.12.24

Java Spring Boot 微服务实战
Java Spring Boot 微服务实战

本专题深入讲解 Java Spring Boot 在微服务架构中的应用,内容涵盖服务注册与发现、REST API开发、配置中心、负载均衡、熔断与限流、日志与监控。通过实际项目案例(如电商订单系统),帮助开发者掌握 从单体应用迁移到高可用微服务系统的完整流程与实战能力。

1

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 9.3万人学习

Pandas 教程
Pandas 教程

共15课时 | 0.8万人学习

C# 教程
C# 教程

共94课时 | 5.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号