Материал: Автоматизация процесса ведения документации и отчетности в "ФГБУ ФИПС"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
109
TITLE="Type your SQL here"><?echo $SQL;?></TEXTAREA></TD>
</TR></TABLE>
<?
FormEnd("Select SQL");
} // PrintSqlInput
if(!$PHP_AUTH_USER):
NotAuthorized();
exit;
else:
// $VALID_USERS = " nmark mvl ise ";
// $TMP_USER = " $PHP_AUTH_USER ";
// if (!ereg($TMP_USER, $VALID_USERS)):
// NotAuthorized();
// exit;
// endif;
$pw = getpwnam($PHP_AUTH_USER);
if (!$pw):
NotAuthorized();
exit;
endif;
$login = strtok($pw, ":");
$passwd = strtok(":");
if (crypt($PHP_AUTH_PW, substr($passwd, 0, 2)) != $passwd):
NotAuthorized();
exit;
endif;
endif;
if (!mysql_pconnect($DBHOST)):
NotAvailable();
exit;
110
endif;
if (!$DB): // No database selected yet
$dbs = mysql_list_dbs();
if (!$dbs):
NotAvailable();
exit;
endif;
$num_dbs = mysql_num_rows($dbs);
if (!num_dbs):
NotAvailable();
exit;
endif;
PrintHead("Select Database");
FormStart();
echo "<CENTER>\n";
echo "<SELECT NAME=\"DB\">\n";
$i = 0;
while ($i < $num_dbs):
$dbname = mysql_dbname($dbs, $i);
echo "<OPTION>$dbname\n";//</OPTION>\n";
$i++;
endwhile;
echo "</SELECT><BR><BR>\n";
FormEnd("Select DB");
echo "</CENTER>\n";
PrintFoot();
elseif ("$cmd" == "Select DB"): //Database selected in $DB variable
if (!mysql_select_db($DB)):
NotAvailable(__FILE__, __LINE__ . "<BR>" . mysql_error());
exit;
endif;
$tables = mysql_list_tables($DB);
111
if (!$tables):
NotAvailable(__FILE__, __LINE__);
exit;
endif;
PrintHead("Type in SQL or select table");
PrintSqlInput();
echo "<BR>\n";
FormStart();
?>
<SELECT NAME="TABLE">
<?
$tables_num = mysql_num_rows($tables);
$i = 0;
while ($i < $tables_num):
$table_name = mysql_tablename ($tables, $i);
echo "<OPTION>$table_name\n";
$i++;
endwhile;
mysql_free_result($tables);
?>
</SELECT>
<?
FormEnd("Select Table", 1);
PrintFoot();
elseif ("$cmd" == "Select SQL" || "$cmd" == "Table View"): // Preview SQL output
format
if (Trim($SQL) == ""): // Just forgot SQL
PrintHead("Type in SQL please");
PrintSqlInput();
PrintFoot();
else: // We have SQL expression here
if (!mysql_select_db($DB)):
112
NotAvailable(__FILE__, __LINE__);
exit;
endif;
$SQL = stripslashes($SQL);
if (!eregi("LIMIT", $SQL)):
$LSQL = "$SQL LIMIT 1"; // Prevent huge results transfer
else:
$LSQL = $SQL;
endif;
$result = mysql_query("SELECT $LSQL");
if (!$result):
PrintHead("Please correct your SQL");
echo "<B>The error was:</B> ";
echo "<TT>" . mysql_error() . "</TT>\n";
PrintSqlInput();
PrintFoot();
else: // SQL parse ok
$fields = mysql_list_fields($result);
PrintHead("Select Fields to Show");
FormStart();
?>
<H3>SQL: 'SELECT <?echo $SQL;?>'</H3>
<CENTER>
<TABLE BORDER=1 CELLSPACING=1 CELLPADDING="3">
<TR><TH>Column</TH><TH>Table</TH><TH>Size</TH><TH>Null</TH>
<TH>Key</TH><TH>Type</TH><TH>Show as</TH><TH>Caption /
Name</TH></TR>
<?
while ($field = mysql_fetch_field($result)):
$name = $field->name;
$table = $field->table;
$maxlength = $field->max_length;
113
$null = $field->not_null ? "No" : "Yes";
$keytype = "&nbsp;";
if ($field->primary_key):
$keytype = "Pri";
elseif ($field->unique_key):
$keytype = "Uni";
elseif ($field->multiple_key):
$keytype = "Mul";
endif;
$type = $field->type;
echo "<TR><TD>$name</TD><TD>$table</TD><TD>$maxlength</TD>";
echo "<TD>$null</TD><TD>$keytype</TD><TD>$type</TD>";
?>
<TD>
<SELECT NAME="FIELDS[]">
<OPTION VALUE="Dont">Dont show
<OPTION VALUE="Hidden">Hidden Input
<OPTION SELECTED>Text
<OPTION>Picture
<OPTION>Input
<OPTION>Email
<OPTION>URL
</SELECT>
<TD><INPUT TYPE="Text" CHECKED SIZE=10 NAME="CAPTIONS[]"
VALUE="<?echo $name;?>"></TD>
<INPUT TYPE="Hidden" NAME="FIELDNAMES[]" VALUE="<?echo
$name;?>">
</TR>
<?
endwhile;
?>
</TABLE>
Источник: https://baza.diplomsite.ru/previewfile/2054