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>

未完待续。。。 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/7820.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JUC结构

JUC是java.util.concurrent包的简称在Java5.0添加&#xff0c;目的就是为了更好的支持高并发任务。让开发者进行多线程编程时减少竞争条件和死锁的问题&#xff01;进程与线程的区别&#xff1a;进程 : 一个运行中的程序的集合; 一个进程往往可以包含多个线程,至少包含一个线程…

JVM的内存区域划分

目录 1、程序计数器&#xff08;内存中最小的一块&#xff0c;里面保存了当前线程下一条执行的指令的地址&#xff09; 2、栈&#xff08;保存局部变量和方法调用的信息&#xff09; 3、堆 &#xff08;成员变量和new出来的对象都在堆上&#xff09; 4、方法区&#xff08…

闲人闲谈PS之四十——项目售前费用归集

惯例闲话&#xff1a;广东这段时间老是下雨&#xff0c;堪比江浙一带梅雨季节&#xff0c;人的心情也像这天气一样&#xff0c;阴雨绵绵。2023年伊始&#xff0c;确实感觉很多事情在发生剧变&#xff0c;这种变化也稍微影响了闲人那本来稳如老狗的心。面对未知和变化&#xff0…

FreeRTOS学习(一)

裸机与RTOS对比 裸机&#xff1a;又称为前后台系统&#xff0c;前台系统指的是中断服务函数&#xff0c;后台系统指的大循环&#xff0c;即应用程序。 实时性差&#xff1a;&#xff08;应用程序轮流执行&#xff09;delay&#xff1a;空等待&#xff0c;CPU不执行其它代码结…

智能汽车赛道「年度大奖」揭晓,哪些供应商在细分市场独占鳌头

智能汽车产业链年度细分市场领军供应商&#xff0c;是高工智能汽车研究院在每个年度基于前装量产数据库及定点车型库数据进行综合评价颁发的年度重量级行业奖项。 2022年&#xff0c;是中国乘用车市场从电动化转型升级到全面普及智能化的关键节点。从计算平台、域控制器、传感…

python天狗吃月 青少年编程电子学会python编程等级考试一级真题解析2022年9月

目录 python天狗吃月 一、题目要求 编程实现 二、解题思路 1、图形分析

thinkphp5.0无限极分类及格式化输出详解案例一则

首先我们来看数据表 从上图中可以发现&#xff0c;中国下有贵州&#xff0c;北京两个子节点&#xff0c;而北京有天安门一个子节点&#xff0c;纽约的子节点是“纽约的子类”。 从pid为0看出&#xff0c;中国和纽约是顶级节点。 因为贵州的pid是1&#xff0c;而中国的id为1…

概率论基础2

文章目录多个random variable条件下的multi random variable 分布和independencemulti random variable continuous**2D normal distribution**two random variable independencemuilti random variable conditional expectional value(discrete)multi random variable conditi…

docker-compose 搭建 MinIO

目录1、搭建单机MinIO1、搭建单机MinIO &#xff08;1&#xff09;配置 docker-compose.yml minio: image: minio/minio container_name: "chain-minio" ports: - 9000:9000 # 服务端口 - 9090:9090 # 控制台端口 environment: - "MINIO_ACCESS_KEYadmin"…

【Python入门第四十七天】Python丨NumPy 数组迭代

数组迭代 迭代意味着逐一遍历元素&#xff0c;当我们在 numpy 中处理多维数组时&#xff0c;可以使用 python 的基本 for 循环来完成此操作。 如果我们对 1-D 数组进行迭代&#xff0c;它将逐一遍历每个元素。 实例 迭代以下一维数组的元素&#xff1a; import numpy as n…

Mysql忘记密码或者有修改密码的需求

今天突然有个想法&#xff0c;想要把毕设弄到服务器上去&#xff0c;所以要配置一下环境安装一下使用一下MySQL&#xff0c;导入一下SQL脚本来创建数据&#xff1b;结果长时间不用MySQL密码不记得了&#xff0c;最后参考了一些博主发现可以这样子修改。 1、打开mysql的配置文件…

OA系统是什么意思?企业为什么要用OA办公系统软件?

阅读本文您将了解&#xff1a;1、什么是OA&#xff1b;2、OA系统是什么意思&#xff1b;2、OA系统功能和对企业重要性 什么是OA&#xff1f; OA即办公自动化&#xff08;Office Automation&#xff0c;简称OA&#xff09;&#xff0c;是将计算机、通信等现代化技术运用到传统…

《剑指offer》——二进制中1的个数

首先&#xff0c;拿到问题不要害怕&#xff0c;我们先来看一下题目说的是什么&#xff1a; 示例1 输入&#xff1a; 10返回值&#xff1a; 2说明&#xff1a; 十进制中10的32位二进制表示为0000 0000 0000 0000 0000 0000 0000 1010&#xff0c;其中有两个1。 示例2 输入&#…

将Linux服务器上的项目上传至Github

使用git上传项目到github常规的步骤继续上传注意事项参考文章常规的步骤 初始化git空间 git init向缓冲区添加想要上传的文件 git add -f /data/xuhongbo/xuhongbo.code/unbiased_sgg_xuhongbo_BCL/maskrcnn_benchmark/*添加备注信息告诉机器&#xff0c;你真的要添加上述文…

vue在input中输入后,按回车,提交数据

vue在input中输入后&#xff0c;按回车&#xff0c;提交数据 1.展示效果如下&#xff1a; 2.代码展示&#xff1a; <div><el-input v-model"toAddNameText" keyup.enter.native"toAddName()" placeholder"回车&#xff0c;即新增该竖杆名称…

【C++】list的使用与模拟实现

目录 一、list介绍 二、list的使用 1、list的构造 2、list capacity 3、list element access 4、list iterator 5、list modifiers 5.1、insert 6、list Operations 6.1、sort 7、list的迭代器失效 三、list模拟实现 1、push_back 2、iterator 3、const iterato…

循环神经网络

循环神经网络(Recurrent Neural Network&#xff0c;RNN)与卷积神经网络一样,都是深度学习中的重要部分。循环神经网络可以看作一类具有短期记忆能力的神经网络。在循环神经网络中&#xff0c;神经元不但可以接收其他神经元的信息&#xff0c;也可以接收自身的信息&#xff0c;…

Python实现PDF转Word文档

1. 模块安装 pip install pdf2docx安装时可能报错&#xff1a; 到 Microsoft C Build Tools 下载C编译环境安装即可。 2. 模块介绍 pdf2docx是一个Python模块&#xff0c;可以用来将PDF文件转换成Word文档。它是基于Python的pdfminer和python-docx库开发的&#xff0c;可以…

toArray转换 java.lang.ClassCastException

[toArray转换踩坑 java.lang.ClassCastException] 问题 List<String> auditOptions Lists.newArrayList(); //一系列灌数据操作 auditOption.add... String[] options (String[]) auditOptions.toArray();报错信息java.lang.ClassCastException: class [Ljava.lang.O…

【Blender】如何在Blender中添加HDRI环境贴图

​ 什么是HDRI环境贴图 环境贴图或HDRI贴图是在Blender中照亮3D场景并实现逼真效果的最有效和最快捷的方法之一。 HDRIs本质上是现实世界照明的快照&#xff0c;其中包含高动态范围成像&#xff08;HDRI&#xff09;的准确照明细节。HDRI是一个包含亮度信息&#xff08;从暗…