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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
119
PrintFoot();
elseif ("$cmd" == "Generate code for SQL output"): // Code generation for given SQL
PrintHead("Code for SQL output");
?>
<TABLE BGCOLOR="WHITE" WIDTH="100%" CELLPADDING=6>
<TR>
<TD>
<?
$src = "<?\n" .
"function NotAvailable(\$what = \"application\", \$reason = \"\") {\n" .
"?>\n" .
" <HTML><HEAD><TITLE>Not available</TITLE></HEAD>" .
" <BODY><H1>Sorry,\n <?echo \$what;?>\n is not available</H1>\n" .
" <?\n if (\$reason):\n echo \"<P>Reason: <TT>\$reason</TT></P>\";\n" .
" endif;\n ?></BODY></HTML>\n" .
"<?\n" .
"}\n\n" .
"error_reporting(256); // set max level\n\n" .
"\$offset = IntVal(\$offset);\n" .
"\$DBHOST = \"$DBHOST\";\n" .
"\$DBUSER = \"nobody\";\n" .
"\$DBPASS = \"\";\n" .
"\$DB = \"$DB\";\n" .
"\$PAGESIZE = \"$PAGESIZE\";\n\n";
$SQL = stripslashes($SQL);
if (eregi("LIMIT", $SQL)):
$src .= "\$SQL = \"SELECT $SQL\";\n\n";
$PagedOutput = 0;
else:
$src .= "\$SQL = \"SELECT $SQL LIMIT \$offset,\$PAGESIZE\";\n\n";
$PagedOutput = 1;
endif;
120
$src .= "if (!mysql_pconnect(\$DBHOST, \$DBUSER, \$DBPASS)):\n" .
" NotAvailable();\n" .
" exit;\n" .
"endif;\n" .
"if (!mysql_select_db(\$DB)):\n" .
" NotAvailable(\$DB, mysql_error());\n" .
" exit;\n" .
"endif;\n" .
"\$result = mysql_query(\$SQL);\n" .
"if (!\$result):\n" .
" NotAvailable(\"Query result\", mysql_error());\n" .
" exit;\n" .
"endif;\n" .
"?>\n" .
"<HTML>\n" .
"<HEAD>\n" .
"<TITLE>Query results</TITLE>\n" .
"</HEAD>\n" .
"<BODY>\n";
if ("$VIEW" == "table"):
$src .= "<TABLE WIDTH=\"100%\" BORDER=1 CELLPADDING=2
CELLSPACING=1>\n" .
"<TR VALIGN=\"TOP\">\n";
$i = 0;
while ($i < count($FIELDS)):
if ($FIELDS[$i] != "Dont" && $FIELDS[$i] != "Hidden"):
$src .= "<TH>";
$src .= $CAPTIONS[$i];
$src .= "</TH>";
endif;
$i++;
endwhile;
121
$src .= "</TR>\n";
$RecStart = "<TR VALIGN=\\\"TOP\\\">";
$RecEnd = "</TR>";
$FieldStart = "<TD>";
$FieldEnd = "</TD>";
elseif ("$VIEW" == "list"):
$src .= "<UL>\n";
$RecStart = "<LI>";
$RecEnd = "</LI>";
$FieldStart = "";
$FieldEnd = ";";
elseif ("$VIEW" == "records"):
$RecStart = "";
$RecEnd = "<HR>";
$FieldStart = "Caption:";
$FieldEnd = "<BR>";
endif;
$src .= "<?\n" .
"while (\$row = mysql_fetch_array(\$result)):\n" .
" echo \"$RecStart\";\n";
$i = 0;
while ($i < count($FIELDS)):
$field = $FIELDS[$i];
$caption = $CAPTIONS[$i];
$fieldname = $FIELDNAMES[$i];
$src .= " \$val = \$row[\"$fieldname\"];\n";
switch ($field):
case "Dont":
break;
case "Hidden": // Don't use any separators here
$src .= "?>\n <INPUT TYPE=\"Hidden\" NAME=\"$caption\" " .
122
"VALUE=\"<?echo \$val;?>\">\n<?\n";
break;
case "Picture":
$src .= "?>\n";
if ("$FieldStart" == "Caption:"):
$src .= " <B>$caption:</B>";
else:
$src .= " $FieldStart";
endif;
$src .= "<IMG SRC=\"<?echo \$val;?>\" BORDER=0
ALT=\"$caption\">$FieldEnd\n<?\n";
break;
case "URL":
if ("$FieldStart" == "Caption:"):
$src .= " echo \"<B>$caption:</B>\";\n";
else:
$src .= " echo \"$FieldStart\";\n";
endif;
$src .= " if (\$val):\n" .
"?>\n <A HREF=\"<?echo \$val;?>\">$caption</A>\n<?\n" .
" else:\n" .
" echo \"&nbsp;\";\n" .
" endif;\n" .
" echo \"$FieldEnd\";\n";
break;
case "Email":
if ("$FieldStart" == "Caption:"):
$src .= " echo \"<B>$caption:</B>\";\n";
else:
$src .= " echo \"$FieldStart\";\n";
endif;
$src .= " if (\$val):\n" .
123
"?>\n" .
" <A HREF=\"<?echo \$val;?>\">$caption</A>\n" .
"<?\n" .
" else:\n" .
" echo \"&nbsp;\";\n" .
" endif;\n" .
" echo \"$FieldEnd\";\n";
break;
/*
*/
default:
if ("$FieldStart" == "Caption:"):
$src .= " echo \"<B>$caption:</B> ";
else:
$src .= " echo \"$FieldStart";
endif;
$src .= "\$val" .
"$FieldEnd\";\n";
break;
endswitch;
$i++;
endwhile;
$src .= " echo \"$RecEnd\\n\";\n" .
"endwhile;\n?>\n";
if ("$VIEW" == "table"):
$src .= "</TABLE>\n";
elseif ("$VIEW" == "list"):
$src .= "</UL>";
endif;
if ($PagedOutput):
$src .= "<P ALIGN=\"RIGHT\">\n" .
Источник: https://baza.diplomsite.ru/previewfile/2054