ASP网上视频点播系统的设计与实现

在线视频服务系统的功能模块划分如下图(2-2)所示:

  1. 电影分类浏览

用户可以通过电影的类别进行浏览。显示近期热门电影,近期点机排行。用户能很方便的找到自己感兴趣的电影进行观看。

  1. 电影搜索

如果用户有很明确的目的,例如知道电影的名字,主演等相关信息,就可以利用此搜索功能。

  1. 电影推荐

如果用户对某个电影感兴趣,或认为比较好,就可以使用“电影推荐”功能,将信息发送给管理员。

  1. 站长推荐

如果管理员对某个电影特别感兴趣,可以把它推荐个来访的用户。

  1. 添加电影

所有的管理员都可以添加,但必须先进入登录页面。

  1. 分类管理

高级管理员和超级管理员可以对电影进行分类操作。

  1. 地址管理

该项功能只有超级管理员可以使用,可以添加电影服务器。

  1. 用户管理

可以添加删除各类用户,查看用户信息,查看用户的在线情况。

站点的网页内容是用HTML标记显示文件的编排效果,这是一种静态的内容显示方式,充其量HTML标记只是一种文件编排的语言,所谓的网页设计只是一种高级的文件编排功能。现在ASP程序让网页设计成为一种程序语言,在功能上足以开发完整的Web应用程序。此时,数据库正是Web应用程序后台不可缺少的系统支持,因为Web应用程序大多就是网页数据库。

在计算机的应用领域,数据才是公司或家庭计算机化的真正帮手。早期的程序设计员大都是靠替人设计数据库系统为生,众多的考勤系统、库存管理系统、进销存系统等等。简单地说这些都是数据库系统。

目前,数据库系统本身就是一套应用程序,用户在不编写任何程序代码的情况下都可以使用。只有在比较复杂的系统中,程序开发者才会编写语言设计客户所需的应用系统。

开发数据库系统的过程就是建立数据的使用界面和决策结构,目的是针对不同的需求使用数据库记录。至于数据库系统本身,其目的只是存取数据,作为应用系统保存数据的地方。

在转换到Web舞台后,数据库的本质并没有改变,只是数据的使用界面变成了网页,数据库成为网页内容的来源。网页数据库就是一个结合前台网页使用界面,加上后台Web服务器和数据库系统的一种全新的应用程序。

不仅如此,结合后台的数据库系统后,网页正式成为一个Web应用程序的开发环境,而不仅仅是一个展示的舞台。应用程序将彻底打破地域的限制,只要连上Internet的计算机都能够使用Web应用程序访问数据库的内容。

根据系统功能设计的要求以及功能模块的划分,可以给出《在线视频点播系统》的各个组成部分的数据项和数据结构。

对于电影的信息数据库,可以列出以下数据项和数据结构:

    • 电影大类信息: ID(自动编号)、名称。

对于系统管理员信息数据库,可以列出以下数据项和数据结构:

    • 系统管理员信息:管理员ID(自动编号)、管理员名称、管理员密码、管理员级别(数字)。

对于电影内容信息数据库,可以列出以下数据项和数据结构:

    • 电影ID(自动编号)、电影名字、电影介绍、相关文章、点击次数、时间和日期、主演。

根据系统功能设计的要求以及功能模块的划分,各个系统的具体逻辑实现如下:

   对于电影大类信息数据库,可以列出以下数据项和数据结构:

    • 电影大类信息: ID(自动编号)名称。

 它不需要外部数据支持。

对于系统管理员信息数据库,可以列出以下数据项和数据结构:

    • 系统管理员信息:管理员ID(自动编号)、管理员名称、管理员密码、管理员级别(数字)。

它不需要外部数据支持。

对于电影内容信息数据库,可以列出以下数据项和数据结构:

    • 电影ID(自动编号)、电影名称、电影介绍、相关文章、点击次数、时间和日期、主演。

需要外部数据支持:

根据系统要求,可以创建以下数据表:

    1. 电影大类信息表(type):

    电影的ID使用的是自动编号,每增加一个新的大类,ID自动加1。电影大类名称的数据类型是文本,可以通过后台超级用户管理。

   电影信息表的一些初始化数据如图所示:

3、管理员信息表

   管理员信息表的结构如图所示:

在管理员信息表的设计中,除了管理员的ID,姓名和密码外,还设计了一个级别属性,“1”表示超级管理员,拥有所有权限,“2”表示高级管理员,高级管理员可以进行电影添加和电影管理,“3”表示初级管理员,只拥有电影添加的功能。

管理员信息表的一些初始化数据如图所示:

 

电影内容信息表:

   电影内容信息表的一些初始化数据如图所示:

如图所示,给出了在线视频点播系统的首页效果:

 

视频点播系统的首页面重要包含三个部分。

A、一个是页面的顶部定义文件(top),它包含了个Flash 动画,主要代码如下:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="778" height="130" align="center">

      <param name="_cx" value="20585">

      <param name="_cy" value="3440">

      <param name="FlashVars" value>

      <param name="Movie" value="images/top.swf">

      <param name="Src" value="images/top.swf">

      <param name="WMode" value="Transparent">

      <param name="Play" value="-1">

      <param name="Loop" value="-1">

      <param name="Quality" value="High">

      <param name="SAlign" value>

      <param name="Menu" value="-1">

      <param name="Base" value>

      <param name="AllowScriptAccess" value="always">

      <param name="Scale" value="ShowAll">

      <param name="DeviceFont" value="0">

      <param name="EmbedMovie" value="0">

      <param name="BGColor" value>

      <param name="SWRemote" value>

      <param name="MovieData" value>

      <param name="SeamlessTabbing" value="1"><embed src="images/top.swf" width="500" height="90" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent">

    </object>

           

B、页面的中间部分,即电影的分类导航,具体结构和代码说明如下:

          公告部分代码:

           </HEAD>

<tr>

<td width="100%" background="images/index-bg2.jpg" height="206">

<div align="center">

<center>

<table border="0" cellpadding="4" cellspacing="4" style="border-collapse: collapse" bordercolor="#111111" width="85%" id="AutoNumber6">

<tr>

<td width="100%">

<marquee direction="up" height="163" οnmοuseοut="this.start()" οnmοuseοver="this.stop()" scrollAmount="1" scrollDelay="100" align="left">

<%set rs1=server.createobject("adodb.recordset")                                                                                    

sql="select * from talk where id=id"

rs1.open sql,conn,1,3

talk=rs1("talk")

rs1.close

set rs1=nothing

                        %><%=talk%></marquee>

</td>

</tr>

</table>

最近更新代码:

<table border="0" cellpadding="2" style="border-collapse: collapse" bordercolor="#111111" width="80%" id="AutoNumber16">

<% 

dim t 

t=0 

sql="select articleid,title,typeid,dateandtime,best from learning  order by articleid desc" 

set rs=server.createobject("adodb.recordset") 

rs.open sql,conn,1,1 

do while not rs.eof 

t=t+1 

%>

<tr>

<td align="center"><%=t%>.</td>

<td><a href="movie.asp?id=<%=rs("articleid")%>" target="_blank" class="left"><%content=rs("title")

                          if len(content)>13 then content=left(content,13)&"…"

                          response.write content

                            %></a>

</td>

<td align="center" width="18%"><%=Month(rs("dateandtime"))%>-<%=day(rs("dateandtime"))%></td>

</tr>

<tr>

<td colspan="3">

<img border="0" src="images/index-line3.gif" width="230" height="1" ></td>

</tr>

<% 

                                  if t>=13 then exit do 

                                  rs.movenext 

                                  loop 

                                  %>

</table>

电击排行榜代码:

<table border="0" cellpadding="2" style="border-collapse: collapse" bordercolor="#111111" width="80%" id="AutoNumber16">

<%

                         Set rst= Server.CreateObject("ADODB.Recordset")

                          rst.open "select articleid,title,hits from learning order by hits desc",conn,1,1

                          %>

              <%

                      i=0

                      do while not rst.eof

                      i=i+1

                      %>

<tr>

<td align="center"><%=i%>.</td>

<td><a href="movie.asp?id=<%=rst("articleid")%>" target="_blank" class="left"><%content=rst("title")

                            if len(content)>12 then content=left(content,12)&"…"

                          response.write content

                            %></a>

</td>

<td align="center" width="16%"><%=rst("hits")%></td>

</tr>

<tr>

<td colspan="3">

<img border="0" src="images/index-line3.gif" width="230" height="1" ></td>

</tr>

<%

                        if i>=12 then exit do

                        rst.movenext

                        loop

                        rst.close

                        set rst=nothing

                        %>

</table>

各类电影代码:(以喜剧片为例)

<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber22">

<%

                         sql="select * from learning WHERE domurl<>Null and typeid='喜剧片' and firstbest=1 order by dateandtime desc"

                         Set rs= Server.CreateObject("ADODB.Recordset")

                         rs.open sql,conn,1,1

                         if rs.eof and rs.bof then

                            response.write ""

                         else

                         i=0

                         do while not rs.eof or rs.bof

                       %>

<tr>

<td width="35%">

<a href="movie.asp?id=<%=rs("articleid")%>" target="_blank"><img border="0" src="<%if rs("domurl")="" then%>img/w.gif<%else%><%=rs("domurl")%><%end if%>" width="66" height="66"><img src="../../My%20Documents/movie/20054161240351.jpg" width="180" height="225"></a></td>

<td width="65%">

<img border="0" src="images/index-dot2.gif" width="4" height="8">&nbsp;&nbsp;                                                                       

<a href="movie.asp?id=<%=rs("articleid")%>" target="_blank" class="left"><b><%content=rs("title")         

                          if len(content)>12 then content=left(content,12)&"-"

                          response.write content

                            %></b></a>

<br>

<span class="L20">主演:<%content=rs("name")

                          if len(content)>8 then content=left(content,8)&"…"

                          response.write content

                            %></span>

<br>

<span class="L20">观看次数: <%=rs("hits")%>次</span>

</td>                                              

</tr>

<% i=i+1                     

                        if i>=1 then exit do

                        rs.movenext

                  

                        loop

                        end if

                        rs.close

                        set rs=nothing

                     %>

</table>

 管理员登录页面示例,如图所示:

管理员登录界面调用的各程序如下图所示:

   管理员进入管理员登录界面,如果输入正确的用户名和密码,则进入管理系统界面(admin1.asp),否则,则进入系统出错提示页面(findaccount.asp)。

管理员登录界面实现方法

主要ASP程序如下:

</head>

<body ">

<div align="center">

  <center><br>

  <table border="0" cellspacing="1" width="295">

    <tr>

      <td width="365"> 

        <form name=loginform οnsubmit="if (!formcheck()) return false;" method="post" action="FindAccount.asp">

          <table width="296" border="0" cellspacing="0" cellpadding="1" bordercolordark="#6699FF" bordercolorlight="#FFFFFF" align="center" bgcolor="#53A9FF" height="160">

            <tr>

              <td width="292" bgcolor="#FFFFFF" height="158">

                <div align="center">

                  <center>

                  <table width="261" border="0" cellpadding="0" cellspacing="0" height="163">

                    <tr>

                      <td colspan="2" width="276" height="18"></td>

                    </tr>

                    <tr>

                      <td colspan="2" class="bold" width="276" height="29">

                        <p align="center"><font size="3">管理员登录</font></p>

                      </td>

                    </tr>

                    <tr>

                      <td valign="middle" align="right" class="subject" width="76" height="34"><font size="2">用&nbsp;  

                        名:</font></td>

                      <td valign="top" width="198" height="34"><font size="2"><input size="21" name="Name"></font></td>

                    </tr>

                    <tr>

                      <td valign="middle" align="right" class="subject" width="76" height="34"><font size="2">密&nbsp;  

                        码:</font></td>

                      <td valign="top" align="left" width="198" height="34"><font size="2"><input type="password" size="21" name="Pwd"></font></td>

                    </tr>

                    <tr>

                      <td colspan="2" width="276" height="30"><font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

                        &nbsp; 

                        <input type="submit" value="登录" class="buttonface" name="submit">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

                        </font><input type="reset" value="重写" name="B2"></td>

                    </tr>

                    <tr>

                      <td colspan="2" align="right" width="276" height="18"></td>

                    </tr>

                  </table>

                  </center>

                </div>

              </td>

            </tr>

          </table>

        </form>

        <p align="center"> </td>

    </tr>

  </table>

  </center>

</div>

</body>

</html>

</body>

</html>

未完待续。。。 

猜你喜欢

转载自blog.csdn.net/axingxiansen/article/details/130009397