SQL 管理者用の Web インターフェイス

WBOY
リリース: 2016-06-13 12:39:15
オリジナル
806 人が閲覧しました

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


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

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

/* 歴史:
* - 97-11-05 (avernet) 引用文付きで バグを修正しました。   
* - 98-01-01 (avernet)
* administrationTable 関数に sortColumn パラメータ を追加しました。   
* - 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 を返す;   
}   

function 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 .= "
";   
$result を返す;   
}

関数 fieldFromType ($text, $type)
{
if ($type == "int" || $type == "uint" || $type == "本物")
{ $result = $text;  }
else
{ $result = "'" 。  AddSlashes ($text) 。  "";  }
return $result;   
}

function 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);   
}
}   

function 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);   
}
}

function 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);   
}
}

function 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 < $tuplesNumber)
{
$fieldIndex = 0;   
while ($fieldIndex < $fieldsNumber)
{
$values [$fieldIndex] = msql_result ($msqlresult, $tupleIndex,
$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 を返す;   
}
?>   
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!