当前位置:编程学习 > php >>

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

答案:在编写程序中,写添加和更新SQL语句是一个比较烦琐的过程,特别是在表结构比较复杂的时候
这个程序主要是根据数据表格式自动生成添加/更新的SQL语句,然后由程序员直接加入到程序中,方便编程

下面是文件,方法建立一个单独的文件,按照下面的说明建立相关文件,运行即可
index.php     索引文件
config.php    配置文件,转换get/post数据
addxxx.php    根据提交表格数据生成SQL语句
addxxx2.php    根据数据库表信息生成SQL语句,配置数据库在文件内部

@author bluemaple<bluemaple@xin易做图.com>
----------------------------------------------------------
index.php文件
----------------------------------------------------------
自动生成模版
<br><br>
<a href=><br><br>
<a href=>----------------------------------------------------------

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 "<form action=addxxx.php method=get onSubmit=\"if(n.value==''){alert('请输入数字');return false;}else return true;\">
                添加的表数目:<input type=text name=n value=1><br>
                <input type=hidden name=action value='c'>
                <input type=submit name=createSubmit value='生成'>
                </form>";
        exit();
    }
    
    if($action == "c")
    {
        echo "<form method=post action=addxxx.php>";
        echo "    添加到数据表:<input type=text name=t><br>
                方法(METHOD):<input type=text name=m value=post><br>
                提交表到(ACTION):<input type=text name=a value='<? echo \$HTTP_SERVER_VARS[PHP_SELF] ?>'><br><br>";
        echo "<table border=1>";
        echo "<tr><td>编号</td><td>说明</td><td>表名(TableName)</td><td>值(VALUE)</td></tr>";
        for($i = 1; $i<=$n; $i++)
        {
            echo "<tr>";
            echo "<td>$i</td>";
            echo "<td><input name=e$i type=text></td>";
            echo "<td><input name=n$i type=text></td>";
            echo "<td><input name=v$i type=text></td>";
            echo "</tr>";
        }
        echo "<tr><td colspan=3 align=center><input type=submit name=submit value='确 定'></td></tr>";
        echo "</table>";
        echo "<input type=hidden name=n value='$n'>";
        echo "<input type=hidden name=action value='a'>";
        echo "</form>";
    }
    
    if($action == "a")
    {
        echo "<h3>生成的插入SQL语句</h3>";
        if($submit)
        {
            if($t == "") $t = "TABLE";
            $tName = "";
            $tValue= "";
            
            // table ...
            for($i = 1; $i <= $n; $i++)
            {
                $temp = "n".$i;
                $tName .= $$temp;
        &n

上一个:用PHP取Select影响行数的方法
下一个:一个PostgreSQL存储过程的例子:

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,