/***************************************************** ************************************
* SQLAdmin v2.0 - Eine SQL-Administrationsbenutzeroberfläche für das Web *
* Copyright (C) 1997-98 Alessandro Vernet
************************************************** ***********************************
* Diese Bibliothek ist freie Software; Sie können weiterverteilen und/oder *
* ändern es unter den Bedingungen der GNU Library General Public *
* Lizenz wie von der Free Software Foundation veröffentlicht; entweder *
* Version 2 der Lizenz, oder (nach Ihrer Wahl) jede spätere Version. *
* *
* Diese Bibliothek wird in der Hoffnung verteilt, dass sie nützlich sein wird, *
* aber OHNE JEGLICHE GARANTIE; ohne die stillschweigende Gewährleistung von *
* MARKTGÄNGIGKEIT oder Fitness für EINEN BESTIMMTEN ZWECK. Siehe das GNU *
* Bibliothek General Public License für weitere Details. *
* *
* Sie sollten eine Kopie der GNU-Bibliothek General Public *
erhalten haben * Lizenz zusammen dieser Bibliothek; Wenn nicht, schreiben Sie an den *
* Free Software Foundation, Inc., 59 Temple Place - Suite 330, *
* Boston, MA 02111-1307, USA. *
************************************************** ***********************************/
/* TODO:
* - Sortierreihenfolge hinzufügen.
* - Einfache Ansicht hinzufügen.
* - Fügen Sie einige Dokumentationen hinzu.
*/
/* EINSCHRÄNKUNGEN:
* - Funktioniert nur mit mSQL.
*/
/* GESCHICHTE:
* - 97-11-05 (avernet) Ein Fehler mit Zitat wurde behoben.
* - 98-01-01 (avernet) Einen sortColumn Parameter zu
hinzugefügt
* administrationTable Funktion.
* - 98-03-14 (avernet) Funktion addTable hinzugefügt, um Benutzern das
zu ermöglichen
* einen Eintrag zur Datenbank hinzufügen (aber nicht ändern).
* - 98-05-19 (avernet) Eingereicht an PX.
* - 98-10-11 (avernet) Jetzt funktioniert SQLAdmin mit php3. Die PHP2 Version
* wird nicht mehr beibehalten.
* - 98-10-11 (avernet) SQLAdmin wird jetzt unter der LGPL
vertrieben
* statt von MPL.
*/
Funktion escapeforhtml ($string)
{
$result = $string;
//$result = ereg_replace (""", """, $result);
$result = ereg_replace ("<", "<", $result);
$result = ereg_replace (">", ">", $result);
return $result;
}
Funktion displayTuple ($fieldsNumber, $fieldNames,
$fieldLengths, $values, $mode)
{
$result = "";
$result .= "";
return $result;
}
Funktion fieldFromType ($text, $type)
{
if ($type == "int" || $type == "uint" || $type == "real")
{ $result = $text; }
sonst
{ $result = "'" . AddSlashes ($text) . "'"; }
return $result;
}
Funktion executeMsql ($database, $command)
{
/*echo "" . $command . "
";*/
msql ($database, $command);
}
Funktion handleRemove ($database, $table, $fieldsNumber,
$fieldNames, $fieldLengths, $fieldTypes)
{
global $remove;
if ($remove != "")
{
$command = "DELETE FROM " . $table . " WO ";
$fieldIndex = 0;
while ($fieldIndex < $fieldsNumber)
{
$fieldName = "old-" . $fieldNames [$fieldIndex];
global $$fieldName;
$command .= $fieldNames [$fieldIndex] . "=" .
fieldFromType ($$fieldName, $fieldTypes [$fieldIndex]);
if ($fieldIndex != $fieldsNumber - 1)
{ $command .= " AND "; }
$fieldIndex ;
}
executeMsql ($database, $command);
}
}
Funktion handleUpdate ($database, $table, $fieldsNumber,
$fieldNames, $fieldLengths, $fieldTypes)
{
globales $update;
if ($update != "")
{
$command = "UPDATE " . $table . " SATZ ";
$fieldIndex = 0;
while ($fieldIndex < $fieldsNumber)
{
$fieldName = $fieldNames [$fieldIndex];
global $$fieldName;
$command .= $fieldName . "=" .
fieldFromType ($$fieldName, $fieldTypes [$fieldIndex]);
if ($fieldIndex != $fieldsNumber - 1)
{ $command .= ", "; }
$fieldIndex ;
}
$command .= " WHERE ";
$fieldIndex = 0;
while ($fieldIndex < $fieldsNumber)
{
$fieldName = "old-" . $fieldNames [$fieldIndex];
global $$fieldName;
$command .= $fieldNames [$fieldIndex] . "=" .
fieldFromType ($$fieldName, $fieldTypes [$fieldIndex]);
if ($fieldIndex != $fieldsNumber - 1)
{ $command .= " AND "; }
$fieldIndex ;
}
executeMsql ($database, $command);
}
}
Funktion handleAdd ($database, $table, $fieldsNumber,
$fieldNames, $fieldLengths, $fieldTypes)
{
global $add;
if ($add != "")
{
$command = "INSERT INTO " . $table . " (";
$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);
}
}
Funktion 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;
}
Funktion displayAdd ($fieldsNumber, $fieldNames, $fieldLengths)
{
$result = "";
$fieldIndex = 0;
while ($fieldIndex < $fieldsNumber)
{
$values [$fieldIndex] = "";
$fieldIndex ;
}
$result .= displayTuple ($fieldsNumber, $fieldNames,
$fieldLengths, $values, "add");
msql_close ();
return $result;
}
Funktion 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);
return $result;
}
Funktion 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);
return $result;
}
?>
以上就介绍了SQL管理员的web接口介绍, 包括了方面的内容, 希望对PHP教程有兴趣的朋友有所帮助。