ホームページ  >  記事  >  php教程  >  データベースに基づいて INSERT/UPDATE 更新ステートメントを自動的に生成します

データベースに基づいて INSERT/UPDATE 更新ステートメントを自動的に生成します

WBOY
WBOYオリジナル
2016-06-21 09:09:121185ブラウズ

データ|データベース|ステートメント

プログラムを作成する場合、特にテーブル構造が複雑な場合、追加および更新 SQL ステートメントを記述するのは比較的面倒なプロセスです。このプログラムは主にデータ テーブル形式に基づいて追加/更新 SQL ステートメントを自動生成し、プログラマがそれを直接追加します。プログラミングを容易にするためのプログラム

下記のファイルを作成し実行する方法です
index.php インデックスファイル
config.php get/を変換する設定ファイルです。投稿データ
addxxx.php 送信されたフォームデータに基づいて SQL ステートメントを生成します
addxxx2.php データベースのテーブル情報に基づいて SQL ステートメントを生成し、ファイル内にデータベースを構成します

@author bluemaple
--- ------ -------------------------------------------- ----
index .php ファイル
---------------------------------------- -------- ------------
テンプレートを自動生成します



追加テーブルを自動的に生成し、関連するテーブルを生成しますSQL add ステートメントと UPDATE ステートメントの生成 (簡易バージョン)



更新データ テーブル生成関連の追加ページ
-- ---------------------------------------------------- -------

config.php ファイル
------------------------------------- -------------- --------------
/* get データと post データを変換します*/
if (!define('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) ;
} // if

if (!empty($_POST))
{
extract($_POST);
else if (!empty($HTTP_POST_VARS))
{
extract($ http_post_vars);
} // endif

if(!empty($ _ files))

-------------------------------------- ----------- -------
addxxx.php
----------------------- ----- ------------------------
include("config.php");

if($action = = "")
{
echo "


echo "";
        echo " データベース表に追加:

方法(METHOD):

提交表へ(ACTION ):

";
echo "" ;
echo "";
for($i = 1; $i {
echo "";
echo "";
echo "
";
echo "";
echo "";
}
エコー "< ;tr>";
echo "
编号说明表名(TableName)值(VALUE)
gt;";
echo "
";
echo "";
echo "";
echo "< /form>";
}

if($action == "a")
{
echo "

生成の插入SQL语句

";
if($submit)
{
if ($t == "") $t = "TABLE";
$tName = "";
$tValue= "";

// テーブル ...
for($i = 1; $i {
$temp = "n".$i;
$tName .= $$temp;
if($i != $n)
{
$tName .= ", ";    
}

$tempi = "n".$i;
$tValue .= "'$".$$tempi."'";
if($i != $n)
$usqli .= $$temp."='$".$ $tempi."'";
i != $n)

$sql = "INSERT INTO $t ( $tName) VALUES ($tValue);"; echo "
;pre>";
echo "テーブルを生成 右クリックしてソース ファイルを表示します";
echo "< table width="700" border="0" cellpacing="0" cellpadding="0" align="center" bgcolor="">
t;
「」>
$etemp = "e".$i;
$ntemp = "n".$i;
$vtemp = "v".$$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 "".$row- >データベース ."
";
}
}

if($db != "")
{
mysql_select_db($db);    

$tresult = mysql_list_tables($db);

if (!$tresult)
{
echo "DB エラー、テーブルをリストできませんでした";
echo 'MySQL エラー: ' 。 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 .=" および ";
}
//テーブルを作成...
$table .= "
".$name."

echo "テーブルを生成:

" ;
echo "&lt; br&gt;&lt; br&gt;";ファイル
n";
form action='$a' method='$m'>
>

class="">< ;input type=reset value='reset' class="">
/table>";

echo "";                      
}
}
}
?>



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。