📄 make.php
字号:
<?
include "template.inc.php";
if (!$sitename||!$tablename) {echo "参数不完整!"; exit;}
#输出配置脚本###################################################################
@mkdir($sitename, 0777);
$savefile=fopen("./$sitename/site.ini","w");
fputs($savefile,$sitename."\t".$tablename."\t".$list_mod_id."\t".$search_mod_id."\t".$list_mod_date."\t".$search_mod_date."\t\n");
for($i=1;$i<=count($field_name);$i++) {
fputs($savefile,$field_title[$i]."\t");
fputs($savefile,$field_name[$i]."\t");
fputs($savefile,$field_type[$i]."\t");
fputs($savefile,$input_type[$i]."\t");
fputs($savefile,$input_mod[$i]."\t");
fputs($savefile,$list_mod[$i]."\t");
fputs($savefile,$search_mod[$i]."\t");
fputs($savefile,"\n");
}
fclose($savefile);
################################################################################
#设置参数#######################################################################
$field_title_temp = $field_title;
$field_name_temp = $field_name;
$field_type_temp = $field_type;
$input_type_temp = $input_type;
$input_mod_temp = $input_mod;
$list_mod_temp = $list_mod;
$search_mod_temp = $search_mod;
$field_title=$field_name=$field_type=$input_type=$input_mod=$list_mod=$search_mod=array();
$field_title[0] = "ID号"; $field_title[1] = "录入日期"; $field_title[2] = "用户ID";
$field_name[0] = "id"; $field_name[1] = "sdate"; $field_name[2] = "userid";
$field_type[0] = "int"; $field_type[1] = "datetime"; $field_type[2] = "int";
$input_type[0] = "text"; $input_type[1] = "date"; $input_type[2] = "";
$input_mod[0] = ""; $input_mod[1] = ""; $input_mod[2] = "";
$list_mod[0] = $list_mod_id; $list_mod[1] = $list_mod_date; $list_mod[2] = "";
$search_mod[0] = $search_mod_id; $search_mod[1] = $search_mod_date; $search_mod[2] = "";
for($i=1;$i<=count($field_name_temp);$i++) {
$field_title[] = $field_title_temp[$i];
$field_name[] = $field_name_temp[$i];
$field_type[] = $field_type_temp[$i];
$input_type[] = $input_type_temp[$i];
$input_mod[] = $input_mod_temp[$i];
$list_mod[] = $list_mod_temp[$i];
$search_mod[] = $search_mod_temp[$i];
}
################################################################################
#输出SQL脚本####################################################################
$sitetalbe = "tbioa".ucfirst($sitename);
$sqlstring = "/****** Object:[$tablename] Table:[dbo].[$sitetalbe] ******/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[$sitetalbe]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[$sitetalbe]
GO
CREATE TABLE [dbo].[$sitetalbe] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[sdate] [datetime] NOT NULL ,
[userid] [int] NOT NULL ,
";
for($i=3;$i<count($field_name);$i++) {
if ($field_type[$i]=="nvarchar") $length=" (250)"; else $length="";
$sqlstring .= " [$field_name[$i]] [$field_type[$i]]$length NULL ";
if ($i<count($field_name)-1) $sqlstring .= ",\n"; else $sqlstring .= "\n";
}
$sqlstring .= ") ON [PRIMARY]
GO
ALTER TABLE [dbo].[$sitetalbe] WITH NOCHECK ADD
CONSTRAINT [DF_".$sitetalbe."_sdate] DEFAULT (getdate()) FOR [sdate],
CONSTRAINT [DF_".$sitetalbe."_userid] DEFAULT (0) FOR [userid]
GO
ALTER TABLE [dbo].[$sitetalbe] WITH NOCHECK ADD
CONSTRAINT [PK_".$sitetalbe."] PRIMARY KEY CLUSTERED
(
[id]
) ON [PRIMARY]
GO
";
$savefile=fopen("./$sitename/site.sql","w");
fputs($savefile,$sqlstring);
fclose($savefile);
################################################################################
#建立模板#######################################################################
$site = new Template("./templates/");
#设置网站摸板
$site->set_file(array( "FILE_EDIT" => "edit.asp",
"FILE_SEARCH" => "search.asp",
"FILE_SHOW" => "show.asp",
"FILE_LIST" => "list.asp",
"FILE_MENU" => "menu.html",
));
############################设置模板变量值##############################
#循环
for($i=0;$i<count($field_name);$i++) {
$input_name[$i]="$field_name[$i]"; #录入框名
$showtable.='
<tr>
<td align="right" valign="top" nowrap class="td1">'.$field_title[$i].':</td>
<td nowrap class="td0"><%=HtmlOut(rs("'.$field_name[$i].'"))%></td>
</tr>'; #查看表单内容
if ($i>2 && $input_type[$i]) { #如果要录入
$check="";
if ($input_mod[$i]) $check.=" check_null=\"请填写$field_title[$i]\"";
if ($field_type[$i]=="int") $check.=" check_int=\"$field_title[$i]必须为整数\"";
if ($field_type[$i]=="float") $check.=" check_number=\"$field_title[$i]必须为数字\"";
$inputtable.='
<tr>
<td width="100" align="right" valign="top" nowrap>'.$field_title[$i].':</td>
<td width="400" nowrap>';
if ($input_type[$i]=="text") $inputtable.='<input type="text" name="'.$input_name[$i].'" value="<%=showvalue("'.$field_name[$i].'")%>" size="40" maxlength="250" class="input"'.$check.'>';
if ($input_type[$i]=="textarea") $inputtable.='<textarea name="'.$input_name[$i].'" rows="5" cols="39" class="textarea"'.$check.'><%=showvalue("'.$field_name[$i].'")%></textarea>';
if ($input_type[$i]=="date") $inputtable.='<input TYPE="TEXT" SIZE="12" MAXLENGTH="12" NAME="'.$input_name[$i].'" value="<%=showvalue("'.$field_name[$i].'")%>" class="input" check_date="日期格式错误" onKeyUp="DateFormat(this,this.value,event,false,\'2\')"'.$check.'> <a href=# title="选择日期" onClick="fPopUpDlg(\'../js/calendar.htm\', document.eventfrm.'.$input_name[$i].', \'winpop\', 234, 261);return false"><img src="../images/datetime.gif" border=0></a>';
if ($input_mod[$i]) $inputtable.=' <font COLOR="RED">*</font>';
$inputtable.='
</td>
</tr>'; #填写表单内容
}
if ($search_mod[$i]) { #如果要搜索
$srequest.="\t$input_name[$i]=Request(\"$input_name[$i]\")'$field_title[$i]\n"; #查询参数
if ($field_type[$i]=="datetime") $srequest.="\t$input_name[$i]_end=Request(\"$input_name[$i]_end\")'$field_title[$i](结束)\n";
if ($field_type[$i]=="int"||$field_type[$i]=="float") $search.="\t".'if '.$input_name[$i].'<>"" then Search = Search & "'.$field_name[$i].'=\'" & '.$input_name[$i].' & "\' and "'."\n"; #查询条件
if ($field_type[$i]=="nvarchar"||$field_type[$i]=="text") $search.="\t".'if '.$input_name[$i].'<>"" then Search = Search & "'.$field_name[$i].' LIKE \'%" & '.$input_name[$i].' & "%\' and "'."\n"; #查询条件
if ($field_type[$i]=="datetime") $search.="\t".'if '.$input_name[$i].'<>"" then Search = Search & "'.$field_name[$i].'>=\'" & cdate('.$input_name[$i].') & "\' and "'."\n"; #查询条件
if ($field_type[$i]=="datetime") $search.="\t".'if '.$input_name[$i].'_end<>"" then Search = Search & "'.$field_name[$i].'<=\'" & cdate('.$input_name[$i].'_end) & "\' and "'."\n"; #查询条件
$searchtable.='
<tr>
<td width="100" align="right" valign="top" nowrap>'.$field_title[$i].':</td>
<td width="400" nowrap>';
if ($input_type[$i]=="text"||$input_type[$i]=="textarea") $searchtable.='<input type="text" name="'.$input_name[$i].'" size="40" maxlength="250" class="input">';
if ($input_type[$i]=="date") $searchtable.='<input TYPE="TEXT" SIZE="12" MAXLENGTH="12" NAME="'.$input_name[$i].'" class="input" check_date="日期格式错误" onKeyUp="DateFormat(this,this.value,event,false,\'2\')"> <a href=# title="选择日期" onClick="fPopUpDlg(\'../js/calendar.htm\', document.eventfrm.'.$input_name[$i].', \'winpop\', 234, 261);return false"><img src="../images/datetime.gif" border=0></a> 至
<input TYPE="TEXT" SIZE="12" MAXLENGTH="12" NAME="'.$input_name[$i].'_end" class="input" check_date="日期格式错误" onKeyUp="DateFormat(this,this.value,event,false,\'2\')"> <a href=# title="选择日期" onClick="fPopUpDlg(\'../js/calendar.htm\', document.eventfrm.'.$input_name[$i].'_end, \'winpop\', 234, 261);return false"><img src="../images/datetime.gif" border=0></a>';
$searchtable.='
</td>
</tr>'; #查询表单内容
}
if ($list_mod[$i]) { #如果要显示
$list_head.="\t".'<td class="tdTop" nowrap>'.$field_title[$i].'</td>'."\n"; #显示字段标题
$list_body.="\t".'<td class="<%=td_class%>"><%=HtmlOut(rs("'.$field_name[$i].'"))%></td>'."\n"; #显示字段内容
}
}
$inputtable='
<table border="0" width="100%" cellspacing="10" cellpadding="0">'.$inputtable.'
<tr>
<td width="100%" colspan="2" align="center">
<input type="submit" value="确定" class="button0" onmouseout=className="button0" onmouseover=className="button1"> <input type="reset" value="全部重写" class="button0" onmouseout=className="button0" onmouseover=className="button1">
</td>
</tr>
</table>
'; #填写表单内容
$searchtable='
<table border="0" width="100%" cellspacing="10" cellpadding="0">'.$searchtable.'
<tr>
<td width="100%" colspan="2" align="center">
<input type="submit" value="查询" class="button0" onmouseout=className="button0" onmouseover=className="button1"> <input type="reset" value="全部重写" class="button0" onmouseout=className="button0" onmouseover=className="button1">
</td>
</tr>
</table>
'; #查询表单内容
$search='if Search="" then
Search="WHERE "
'.$search.' Search=Search & "1=1"\'可查看所有人录入的记录
\'Search=Search & "userid="&LoginID\'只能查看自己录入的记录
END if
'; #查询条件
$listtable='
<table width="100%" cellspacing="1" cellpadding="2" class="tab">
<tr>
'.$list_head.' <td class="tdTop" colspan="3" nowrap>相关操作</td>
</tr>
<%for i = 0 to rs.PageSize-1
If rs.EOF Then Exit For
if i mod 2 = 0 then td_class="td1" else td_class="td2"
%>
<tr>
'.$list_body.' <td class="<%=td_class%>" width="50" nowrap>
<img border="0" src="../images/icon_show.gif" align="left">
<a href="'.$sitename.'_show.asp?id=<%=rs("ID")%>">查看</a>
</td>
<td class="<%=td_class%>" width="50" nowrap>
<img border="0" src="../images/icon_edit.gif" align="left">
<a href="'.$sitename.'_edit.asp?id=<%=rs("ID")%>">编辑</a>
</td>
<td class="<%=td_class%>" width="50" nowrap>
<img border="0" src="../images/icon_dele.gif" align="left">
<a href="'.$sitename.'_list.asp?mod=dele&id=<%=rs("ID")%>" onClick="return confirm(\'确定要删除该条记录吗?\n该操作不可恢复!\')">删除</a>
</td>
</tr>
<%
rs.MoveNext
next
%>
</table>
';#表单列表
########################################################################
#模板变量值
$site->set_var(array( "项目名称" => $sitename,
"表单名称" => $tablename,
"表名" => $sitetalbe,
"录入参数" => $request,
"查询参数" => $srequest,
"查寻条件" => $search,
"填写表单内容" => $inputtable,
"查看表单内容" => $showtable,
"查询表单内容" => $searchtable,
"表单列表" => $listtable,
));
########################################################################
echo "项目名称:($sitename) 表单名称:($tablename)<hr>";
echo "<br>文件列表:<br><br>";
echo "配置文件: (./$sitename/$sitename.ini)<br>";
echo "数据库脚本: (./$sitename/$sitename.sql)<br>";
#输出表单菜单
$site->parse("Output","FILE_MENU");
$savefile=fopen("./$sitename/".$sitename."_menu.html","w");
fputs($savefile,$site->get_var("Output"));
fclose($savefile);
echo "表单菜单: (./$sitename/".$sitename."_menu.html)<br>";
#输出添加/修改表单程序
$site->parse("Output","FILE_EDIT");
$savefile=fopen("./$sitename/".$sitename."_edit.asp","w");
fputs($savefile,$site->get_var("Output"));
fclose($savefile);
echo "添加/修改表单程序:(./$sitename/".$sitename."_edit.asp)<br>";
#输出表单列表程序
$site->parse("Output","FILE_LIST");
$savefile=fopen("./$sitename/".$sitename."_list.asp","w");
fputs($savefile,$site->get_var("Output"));
fclose($savefile);
echo "表单列表程序:(./$sitename/".$sitename."_list.asp)<br>";
#输出查看表单程序
$site->parse("Output","FILE_SHOW");
$savefile=fopen("./$sitename/".$sitename."_show.asp","w");
fputs($savefile,$site->get_var("Output"));
fclose($savefile);
echo "查看表单程序:(./$sitename/".$sitename."_show.asp)<br>";
#输出查询表单程序
$site->parse("Output","FILE_SEARCH");
$savefile=fopen("./$sitename/".$sitename."_search.asp","w");
fputs($savefile,$site->get_var("Output"));
fclose($savefile);
echo "查询表单程序:(./$sitename/".$sitename."_search.asp)<br>";
?>
<br><font color=blue>程序生成成功!</font>
<br><br><a href="index.php?site=<?=$sitename?>">修改表单并重新生成>></a>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -