- 打印本文 关闭窗口
- ASP与SQL网站数据库程序设计(15)
- 作者:.. 文章来源:科学出版社 点击数: 更新时间:2004/1/25 1:03:54
- else
29: Currencies = -1
30: end if
31: %>
程序说明
第12~14行:取得全图预览的显示方式。在系统设计中,全图预览方式共分为“JPG图文件的显示”以及“PDF文件的显示”。主要的区别在于打开新窗口时,所加载文件的扩展名不同而已。
第16~18行:从“产品基本信息”表中,取出与“类别编号”相符的所有记录,并且将这些记录存放在Datas数组变量中。
第19~22行:从“产品类别”表中取出相关的信息。事实上,用户也可以在上一个程序中,将相关信息转发进来。
第24~30行:从“币别信息”表中,取出所有的币别信息,并且将查询结果存放在“Currencies”数组变量中。
14-4-3 全图预览方式的设置
本段程序代码属于javascript与ASP程序混合所产生的结果。主要的运作方式在于将javascript程序代码视为一般文字的处理。以下是这个程序段的内容与说明。
“ProductShow.asp”程序段
37: <Script Language=javascript>
38: <!--
39: function Clicks(i)
40: {
41: <% Select Case FullViewMethod
42: case 0 %>
43: Target = open("/ProductFullView.asp?ProductNo=" + i , "NewScreen", "toolbar=No,width=640,height=480,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no");
44: <% Case 1 %>
45: Target = open("/Images/" + i + ".pdf" , "NewScreen", "toolbar=No,width=640,height=480,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes" ) ;
46: <% end Select %>
47: }
48: // -->
49: </Script>
程序说明
第39行:Clicks(i),设置从网页上传送进来的数值内容。而此数值内容则为“类别编号”+“产品代号”。
第41~46行:根据取得的“全图预览方式”的数值,产生不同的javascript程序代码。例如:FulleViewMethod = 0时,所产生的是:
Target = open("/ProductFullView.asp?ProductNo=" + i , "NewScreen", "toolbar=No,width=640,height=480,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no");
FulleViewMethod = 1 时,所产生的是:
Target = open("/Images/" + i + ".pdf" , "NewScreen", "toolbar=No,width=640,height=480,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes" ) ;
14-4-4 动态展示产品内容
一般来说,只要是连接到数据库的ASP程序,其内容多半都会根据数据库内容的变动产生动态显示的效果,当然本系统也是如此,同样也是利用数据库的内容,产生动态显示信息的效果。以下是这个程序段的实际内容与说明:
“ProductShow.asp”程序段
73: <% for i = 0 to ubound(datas,2) %>
74: <a name="<% = datas(0,i) %>"></a>
75: <table border=0 cellpadding=1 cellspacing=1 align=center>
76: <tr>
77: <td class='BannerFont' align=left valign=top><img src="/ images/productname.gif" border=0></td>
78: <td class='documentfont'><% = datas(1,i) %></td>
79: <td align=center><img src="/Images/CategoryName1.gif" bor-der=0></td>
80: <td class='documentfont'><% = ClassifyName %></td>
81: <td rowspan="5" align="center" width=124>
82: <a Name="CP" style='cursor:Hand' onClick="Clicks(" <% = datas(0,i) %>")" class='DocumentFont'>
83: <img src="/Images/<% = datas(0,i)%>_1.jpg" border=0 alt= "全图预览"><br>
84: <img Src="/Images/FullView3.gif" Border=0 alt="全图预览"> 全图预览</a><br>
85:
86: <a href="/productshow.asp?moreinfo=<% = datas(0,i) %>&Cl-assifyNo=<% = request.querystring("ClassifyNo")%>#<% = datas(0,i) %>" class='DocumentFont'>
87: <img Src="/images/MoreInfo1.gif" border=0 alt="更多信息! "> 更多信息</a>
88: </td>
89: </tr>
90:
91: <tr>
92: <td><img src="/images/price.gif" border=0></td>
93: <td class='documentfont'>
94: <% = datas(5,i) %>$ <% = datas(4,i) %></td>
95:
96: <td align=center><img src="/images/Delivery.gif" border= 0></td>
97: <td class='documentfont'><% = datas(6,i) %> 天</td></tr>
98:
99: <tr><td class='BannerFont' align=left valign=top><img src= "/Images/CatNo.gif" border=0></td>
100: <td class='documentfont' Colspan="3"><% = datas(0,i)%> </td></tr>
101:
102: <tr><td class='BannerFont' align=left valign=top><img src ="/Images/Specification.gif" border=0></td>
103: <td class='documentfont' colspan="3"><textarea Cols= "40" Rows="3" class='documentfont'><% = trim(datas(3,i)) %></te-xtarea>
104: </td></tr>
105:
106: <tr><td class='BannerFont' align=left valign=top><img src= "/images/Memo.gif" border=0>
107: </td><td class='documentfont' colspan="3"><% = datas(8,i) %></td></tr>
108:
109: </table>
110: <hr width='85%' align=center color=Orchid size=2>
111: <%
112: next
113: objconn.close
114: %>
程序说明
第74行:这是一个超级链接的标记,与一般超链接标记不同的是只有超级链接标记的名称,却没有“href”属性。这是常用的网页内容定位模型。
第73~114行:编写这么多的程序代码只为了一个目的,将Datas数组变量中的记录,一一按照格式存放整齐而已。而Datas数组的内容则是根据第16行所产生的SQL Query内容,向“产品基本信息”表所查询而得的数据数组。并且,Datas数组变量的实质内容就如同表的缩影一样,每一行是一条记录。
第82行:本行程序代码主要的功能是打开新的窗口,并且显示产品的原貌。
在这些程序段中,最重要的要算下面两行程序代码。在此代码中,指定的名称是“CP”,同时,在按下鼠标左键选择时,将会把产品的“产品代号”传送给javascript进行处理。所使用的程序代码如下所示:
<a Name="CP" style='cursor:Hand' onClick="Clicks("<% = datas(0,i) %>")" class='DocumentFont'>
其中“"”所代表的是“"(双引号)”。由于“onClick=" Clicks(i)"”程序代码在进行参数的传递中,其中i的参数必须用双引号括起来。但是onClick的javascript事件却必须要将事件名称用双引号括起来,为避免发生混淆,因而使用HTML文件的特殊码““”(双引号)”,将参数括起来。
第86行:
<a href="/productshow.asp?moreinfo=<% = datas(0,i) %>&ClassifyNo=<% = request.querystring("ClassifyNo")%>#<% = datas(0,i) %>" class='DocumentFont'>
将参数传送给自己?这主要是在用户选择“更多信息”的动作发生时,将“产品代号”传送给专门负责Cookies处理的“PdRequest.inc”协助Cookies的处理。同时,本程序又具有根据“产品代号”自动卷动浏览器画面的功能;因此会将“类别编号”以及“产品代号”重新传送一次,以免因为网页重新整理之后,造成画面位置改变的情况。这样的做法特别适用于局域网中,因为传递信息的速度较快,以致于用户可能感觉画面没有更新过。
至于“ProductShow.asp”程序的其他部分,由于所用的命令与方法多半在前面的章节中提供了完整的说明,因此,在此就不再多做叙述。
14-5 新上市产品
通常一个公开的网站,多半都会在产品上市时,将产品的信息直接显示在首页中。同样的道理,这种方式也是可以应用在“头条新闻”、“最新消息”等方面,只是显示的资料、样式不同罢了。实际上,“NewArrival.asp”与“ProductShow.asp”程序读
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页
- 打印本文 关闭窗口