ホームページ  >  記事  >  バックエンド開発  >  SQL 管理者の Web インターフェイス_PHP チュートリアル

SQL 管理者の Web インターフェイス_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 16:03:42769ブラウズ

   
/*********************************************** *************************************
* SQLAdmin v2.0 - SQL 管理 ユーザー インターフェイスウェブ *
* 著作権 (C) 1997-98 Alessandro Vernet       *
*********************************************** *************************************
* この ライブラリ は無料 ソフトウェアです。  あなたは、それを再配布したり、*
* GNU Library General Public *
* License 発行者として GNU Library General Public *
* 修正 することができます。無料 ソフトウェア 財団。  ライセンスの *
* ライセンスのバージョン 2 、または(オプションで)それ以降のバージョンのいずれか。  *
* この ライブラリary は、役立つことを願って配布されています。ただし、いかなる保証もありません。  また、 *
* 商品性や特定の目的への適合性の暗黙の保証もありません。    詳細については、GNU *
* ライブラリ 一般 パブリック ライセンス をご覧ください。                       *
* *
* そうすべきですこのライブラリとともに、GNU ライブラリの一般公開 *
* ライセンスのコピー を受け取っている。  そうでない場合は、 *
にメールしてください     * 無料 ソフトウェア Foundation, Inc.、 59 Temple Place - Suite 330、 *
* ボストン、マサチューセッツ州02111-1307、米国。                                             *
*********************************************** *************************************/


/* TODO:
* - 並べ替えを追加注文。   
* - シンプル ビューを追加します。   
* - ドキュメントを追加します。   
*/

/* 制限事項:
* - mSQL でのみ動作します。   
*/

/* 歴史:
* - 97-11-05 (avernet) 引用文付きで バグを修正しました。   
* - 98-01-01 (avernet) sortColumn パラメーター を
* administrationTable 関数に追加されました。   
* - 98-03-14 (avernet) ユーザーがデータベースにエントリを追加できるようにする関数 addTable を追加しました (ただし、変更はしません)。   
* - 98-05-19 (avernet) PX に送信されました。   
* - 98-10-11 (avernet) SQLAdmin が PHP3 で動作するようになりました。  PHP2 バージョン
* 今後は維持されなくなります。   
* - 98-10-11 (avernet) SQLAdmin は現在、 MPL ではなく LGPL
* の下で配布されています。   
*/

関数 escapeforhtml ($string)
{
$result = $string;   
//$result = ereg_replace (""", """, $result);   
$result = ereg_replace ("<", "<", $result);   
$result = ereg_replace (">", ">", $result);   
$result を返す;   
}   

関数 displayTuple ($fieldsNumber, $fieldNames,
$fieldLengths, $values, $mode)
{
$result = "";   
$result .= "

"  。   
"
";   
$result .= "";   
$fieldIndex = 0;   
while ($fieldIndex < $fieldsNumber)
{
$result .= "";   
$fieldIndex++;   
}
$result .= "
"  。  $fieldNames [$fieldIndex] 。  " ";   
if ($fieldLengths [$fieldIndex] <= 128)
{
$result .= " $fieldNames [$fieldIndex] . "" VALUE=""
$values [$fieldIndex] . "" SIZE="64">;   
}
else
{
$result .= "";   🎜 }   
$result .= " $fieldNames [$fieldIndex] .
"" VALUE="" . escapeforhtml ($values [$fieldIndex]) . ""> ;"  。   
"
";   
if ($mode == "modify")
{
$result .= "";   
$result .= "";   
}
else
{ $result .= "";  }
$result .= "
gt;";   
$result を返す;   
}

関数 fieldFromType ($text, $type)
{
if ($type == "int" || $type == "uint" || $type == "real")
{ $結果 = $文章;  }
else
{ $result = "'" 。  AddSlashes ($text) 。  "";  }
return $result;   
}

関数 executeMsql ($database, $command)
{
/*echo ""  。  $コマンド 。  "
";*/
msql ($database, $command);   
}   

関数 handleRemove ($database, $table, $fieldsNumber,
$fieldNames, $fieldLengths, $fieldTypes)
{
グローバル $remove;   
if ($remove != "")
{
$command = "DELETE FROM " 。  $テーブル 。  " どこ ";   
$fieldIndex = 0;   
while ($fieldIndex < $fieldsNumber)
{
$fieldName = "old-" 。  $fieldNames [$fieldIndex];   
グローバル $$フィールド名;   
$command .= $fieldNames [$fieldIndex] 。  「= 。   
fieldFromType ($$fieldName, $fieldTypes [$fieldIndex]);   
if ($fieldIndex != $fieldsNumber - 1)
{ $command .= " AND ";  }
$fieldIndex++;   
}
executeMsql ($database, $command);   
}
}   

関数 handleUpdate ($database, $table, $fieldsNumber,
$fieldNames, $fieldLengths, $fieldTypes)
{
グローバル $update;   
if ($update != "")
{
$command = "UPDATE " 。  $テーブル 。  " セット ";   
$fieldIndex = 0;   
while ($fieldIndex < $fieldsNumber)
{
$fieldName = $fieldNames [$fieldIndex];   
グローバル $$フィールド名;   
$command .= $fieldName 。  「= 。   
fieldFromType ($$fieldName, $fieldTypes [$fieldIndex]);   
if ($fieldIndex != $fieldsNumber - 1)
{ $command .= ", ";  }
$fieldIndex++;   
}
$command .= " WHERE ";   
$fieldIndex = 0;   
while ($fieldIndex < $fieldsNumber)
{
$fieldName = "old-" 。  $fieldNames [$fieldIndex];   
グローバル $$フィールド名;   
$command .= $fieldNames [$fieldIndex] 。  「= 。   
fieldFromType ($$fieldName, $fieldTypes [$fieldIndex]);   
if ($fieldIndex != $fieldsNumber - 1)
{ $command .= " AND ";  }   
$fieldIndex++;   
}
executeMsql ($database, $command);   
}
}

関数 handleAdd ($database, $table, $fieldsNumber,
$fieldNames, $fieldLengths, $fieldTypes)
{
global $add;   
if ($add != "")
{
$command = "INSERT INTO " 。  $テーブル 。  " (";
$fieldIndex = 0;
while ($fieldIndex < $fieldsNumber)
{
$command .= $fieldNames [$fieldIndex];
if ($fieldIndex != $fieldsNumber - 1)
{ $command .= ", "; }
$fieldIndex++;
}
$command .= ") VALUES (";
$fieldIndex = 0;
while ($fieldIndex < $fieldsNumber)
{
$fieldName = $fieldNames [$ fieldIndex];
global $$fieldName;
$command .= fieldFromType ($$fieldName, $fieldTypes [$fieldIndex]);
if ($fieldIndex != $fieldsNumber - 1)
{ $command .= ", "; }
$fieldIndex++;
}   
$command .= ")";   
executeMsql ($database, $command);   
}
}

関数 displayRemoveUpdate ($database, $table, $sortColumn,
$fieldsNumber, $fieldNames, $fieldLengths)
{
$result = "";   
if ($sortColumn != "")
{ $sortColumn = " ORDER BY " 。  $sortColumn;  }
$msqlresult = msql ($database, "SELECT * FROM " . $table . $sortColumn);   
$tuplesNumber = msql_numrows ($msqlresult);   
$tupleIndex = 0;   
while ($tupleIndex < $tupleNumber)
{
$fieldIndex = 0;   
while ($fieldIndex < $fieldsNumber)
{
$values [$fieldIndex] = msql_result ($msqlresult, $tupleIn dex、
$fieldNames [$fieldIndex]);   
$fieldIndex++;   
}
$result .= displayTuple ($fieldsNumber, $fieldNames,
$fieldLengths, $values, "modify");   
$tupleIndex++;   
}
return $result;   
}   

関数 displayAdd ($fieldsNumber, $fieldNames, $fieldLengths)
{
$result = "";   
$fieldIndex = 0;   
while ($fieldIndex < $fieldsNumber)
{
$values [$fieldIndex] = "";   
$fieldIndex++;   
}
$result .= displayTuple ($fieldsNumber, $fieldNames,
$fieldLengths, $values, "add");   
msql_close ();   
$result を返す;   
}

関数 administrationTable ($database, $table, $sortColumn)
{
$result = "";   
msql_connect ( "localhost");   
$msqlresult = msql ($database, "SELECT * FROM " . $table);   
$fieldsNumber = msql_numfields ($msqlresult);    
$msqlresult = msql_listfields ($database, $table);   
$fieldIndex = 0;   
while ($fieldIndex < $fieldsNumber)
{
$fieldNames [$fieldIndex] = msql_fieldname ($msqlresult, $fieldIndex);   
$fieldLengths [$fieldIndex] = msql_fieldlen ($msqlresult, $fieldIndex);   
$fieldTypes [$fieldIndex] = msql_fieldtype ($msqlresult, $fieldIndex);   
$fieldIndex++;   
}
handleRemove ($database, $table, $fieldsNumber, $fieldNames, $fieldLengths, $fieldTypes);   
handleUpdate ($database, $table, $fieldsNumber, $fieldNames, $fieldLengths, $fieldTypes);   
handleAdd ($database, $table, $fieldsNumber, $fieldNames, $fieldLengths, $fieldTypes);   
$result .= displayRemoveUpdate ($database, $table, $sortColumn, $fieldsNumber, $fieldNames,
$fieldLengths);   
$result .= displayAdd ($fieldsNumber, $fieldNames, $fieldLengths);   
$result を返す;   
}   

関数 addTable ($database, $table)
{
$result = "";   
msql_connect ( "localhost");   
$msqlresult = msql ($database, "SELECT * FROM " . $table);   
$fieldsNumber = msql_numfields ($msqlresult);    
$msqlresult = msql_listfields ($database, $table);   
$fieldIndex = 0;   
while ($fieldIndex < $fieldsNumber)
{
$fieldNames [$fieldIndex] = msql_fieldname ($msqlresult, $fieldIndex);   
$fieldLengths [$fieldIndex] = msql_fieldlen ($msqlresult, $fieldIndex);   
$fieldTypes [$fieldIndex] = msql_fieldtype ($msqlresult, $fieldIndex);   
$fieldIndex++;   
}
handleAdd ($database, $table, $fieldsNumber, $fieldNames, $fieldLengths, $fieldTypes);   
$result .= displayAdd ($fieldsNumber, $fieldNames, $fieldLengths);   
$result を返す;   
}
?>   

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/316182.html技術記事 ? /************************************************ ************************************* *SQLAdminv2.0-AnSQLAdministrationUserInterfacefortheWeb * *Copyright(C)1997- 98アレッサンドロ・バーン...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。