基于客户端的成绩统计实现方法

到四个JS库,其中YESBRAIN.js是基库,JSQL.js是接口。JSQL-Memory.js和JSQL-DOM分别是JSQL对 javascript教程 Objects Array 和 Html DOM 的 SQL 实现。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Marks Count</title>
<script type="text/javascript" src="../src/YESBRAIN.js"></script>
<script type="text/javascript" src="../src/JSQL.js"></script>
<script type="text/javascript" src="../src/JSQL-Memory.js"></script>
<script type="text/javascript" src="../src/JSQL-DOM.js"></script>
<style>
#marks input {
width: 100px;
}
</style>
</head>
<body>
<center>
<h1>Marks Count</h1>
<p>
<button onclick="insertline();"> Add one line </button>
<button onclick="savemarks();"> Save Changes </button>
<span>By<span>
<select id="byfield">
<option value="chinese" selected="selected">Chinese</option>
<option value="math">Math</option>
<option value="english">English</option>
</select>
<select id="ascdesc">
<option value="desc" selected="selected">Desc</option>
<option value="asc">Asc</option>
</select>
<button onclick="order();">Order</button>
</p>
<form name="marks" id="marks">
<span>Name:</span>
<input type="text" id="name[1]" value="zhangsan">
<span>Sex:</span>
<input type="text" id="sex[1]" value="female">
<span>Chinese:</span>
<input type="text" id="chinese[1]" value="96">
<span>Math:</span>
<input type="text" id="math[1]" value="94">
<span>English:</span>
<input type="text" id="english[1]" value="98">
<br>
</form>
</center>
<script type="text/javascript">
var marks = [
{
name: 'Lisi',
sex: 'Female',
chinese: '88',
math: '90',
english: '92'
},
{
name: 'Wangwu',
sex: 'Female',
chinese: '92',
math: '80',
english: '82'
},
{
name: 'Lilei',
sex: 'Female',
chinese: '93',
math: '88',
english: '87'
},
{
name: 'HanMeimei',
sex: 'Male',
chinese: '97',
math: '92',
english: '100'
},
{
name: 'Wangjuan',
sex: 'Male',
chinese: '92',
math: '93',
english: '90'
}
];

function addto(index,name,sex,chinese,math,english) {
"insert into marks (nodename,innerHTML) values ('span','Name:')".ForDOM().execute();
("insert into marks (nodename,type,id,value) values ('input','text','name[" + (index) + "]','" + name + "')").ForDOM().execute();
"insert into marks (nodename,innerHTML) values ('span','Sex:')".ForDOM().execute();
("insert into marks (nodename,type,id,value) values ('input','text','sex[" + (index) + "]','" + sex + "')").ForDOM().execute();
"insert into marks (nodename,innerHTML) values ('span','Chinese:')".ForDOM().execute();
("insert into marks (nodename,type,id,value) values ('input','text','chinese[" + (index) + "]','" + chinese + "')").ForDOM().execute();
"insert into marks (nodename,innerHTML) values ('span','Math:')".ForDOM().execute();
("insert into marks (nodename,type,id,value) values ('input','text','math[" + (index) + "]','" + math + "')").ForDOM().execute();
"insert into marks (nodename,innerHTML) values ('span','English:')".ForDOM().execute();
("insert into marks (nodename,type,id,value) values ('input','text','english[" + (index) + "]','" + english + "')").ForDOM().execute();
("insert into marks (nodename) values ('br')").ForDOM().execute();
};

for(var i=0; i<marks.length;i++) {
addto(i+2,marks[i].name,marks[i].sex,marks[i].chinese,marks[i].math,marks[i].english);
};

function insertline() {
var count = "select count(*) as Count from marks where id like 'name%'".ForDOM().query();
var index = count[0].Count + 1;
addto(index,"","","","","");
};

function dellastline() {
var count = "select count(*) as Count from marks where id like 'name%'".ForDOM().query();
var index = count[0].Count;
("delete from marks where id like '%["+ index +"]'").ForDOM().execute();
};

"create table savedmarks".execute();

function savemarks() {
var names = ("select value from marks where id like 'name%'").ForDOM().query();
var sexs = ("select value from marks where id like 'sex%'").ForDOM().query();
var chineses = ("select value from marks where id like 'chinese%'").ForDOM().query();
var maths = ("select value from marks where id like 'math%'").ForDOM().query();
var englishs = ("select value from marks where id like 'english%'").ForDOM().query();
"delete from savedmarks".execute();
for(var i=0;i<names.length;i++) {
("insert into savedmarks (name,sex,chinese,math,english) values ('"+ names[i].value +"','" + sexs[i].value + "'," + chineses[i].value + "," + maths[i].value + "," + englishs[i].value + ")").execute();
};
//alert(savedmarks);
};

function orderby(field,asc) {
savemarks();
var marks = ("select * from savedmarks order by " + field + " " + asc).query();
"delete from marks".ForDOM().execute();
for(var i=0; i<marks.length;i++) {
addto(i+2,marks[i].name,marks[i].sex,marks[i].chinese,marks[i].math,marks[i].english);
};
};
function order() {
var byfield = document.getElementById("byfield").value;
var ascdesc = document.getElementById("ascdesc").value;
orderby(byfield,ascdesc);
};
</script>
</body>
</html>

时间: 2024-10-30 18:45:04

基于客户端的成绩统计实现方法的相关文章

JSQL 基于客户端的成绩统计实现方法_javascript技巧

复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <meta http-equiv=&q

PHP基于cookie与session统计网站访问量并输出显示的方法_php技巧

本文实例讲述了PHP基于cookie与session统计网站访问量并输出显示的方法.分享给大家供大家参考,具体如下: <?php $f_open = fopen("count.txt","r+"); //打开指定的文件 $count = fgets($f_open); //读取文件中的数据 if(empty($_COOKIE['cookie_name'])){ //判断COOKIE的是否存在 setcookie("cookie_name",

JS基于cookie实现来宾统计记录访客信息的方法_javascript技巧

本文实例讲述了JS基于cookie实现来宾统计记录访客信息的方法.分享给大家供大家参考.具体如下: 这里使用JavaScript记录访客的来宾信息,记录是第几次来访,显示的信息有:您的名字;您浏览该网页的次数;您上次浏览网页的时间.可以更改姓名. 运行效果如下图所示: 具体代码如下: <html> <head> <title>记录客户信息</title> <script language="JavaScript"> <!

金山wps表格制作成绩通知单的方法

  马上就要寒假了,相信很多从事教师工作的网友都开始着手期末考试的准备,以及成绩的统计与成绩通知单的制作了.那么,成绩通知单怎么制作呢?今天,小编就给大家带来成绩单制作的简单方法,我们需要使用到的软件是金山wps表格,下面,就一起来看看金山wps表格制作成绩通知单的方法吧! 成绩通知单 制作成绩通知单的解决思路: 1.<成绩表>和<通知单>分建立在两个工作表中. 2.<通知单>可以通过函数调用<成绩表>中每个学生之资料. 3.建立一个单元格下拉菜单供选择所有

巧用Excel帮我进行学生成绩统计

在老师的日常工作中,对学生的成绩进行统计分析管理是一项非常重要也是十分麻烦的工作,如果能够利用EXCEL强大的数据处理功能,就可以让各位老师迅速完成对学生的成绩的各项分析统计工作.下面就向各位朋友介绍一些利用EXCEL进行学生成绩管理的小技巧. 一.快速转换学生考试成绩等级 有的时候,会遇到要将学生的考试成绩按实际考试分数转换成相应成绩等级的情况,如将考试成绩在90分以上的成绩转换成"A+"形式,85-89分的成绩转换成"A"形式....一般情况,在EXCEL表格中

python基于xmlrpc实现二进制文件传输的方法

  本文实例讲述了python基于xmlrpc实现二进制文件传输的方法.分享给大家供大家参考.具体实现方法如下: 服务器端: ? 1 2 3 4 5 6 7 8 9 10 from SimpleXMLRPCServer import SimpleXMLRPCServer import xmlrpclib def python_logo(): handle = open("python_logo.jpg",'rb') return xmlrpclib.Binary(handle.read

WPS表格技巧:对象数不确定的成绩统计

评比活动中为了更好地体现公正.公平.公开,组织者往往在现场设定多个评定内容.临时邀请多个评委专家,当场打分当场公布.利用WPS表格,能高效准确地完成这类统计对象数不确定的成绩统计任务. 基本思路 多个评委多个评定内容,属于评委数量不确定.评定内容数量不确定的命题,解决的基本思路是把评委数量等不确定的值转化为确定值来处理. 评分要求 多个评委对多项内容分别打分.评分中去掉一个最高分.一个最低分后求平均,所得结果作为得分;评定内容按相同权重进行汇总,所得结果为项目总得分.按总得分排出名次.以合唱比赛

基于JavaMail API收发邮件的方法_java

本文实例讲述了基于JavaMail API收发邮件的方法.分享给大家供大家参考.具体如下: 1.JavaMail API按其功能划分通常可分为如下三大类 (1)创建和解析邮件内容的API :Message类是创建和解析邮件的核心API,它的实例对象代表一封电子邮件. (2)发送邮件的API:Transport类是发送邮件的核心API类,它的实例对象代表实现了某个邮件发送协议的邮件发送对象,例如SMTP协议. (3)接收邮件的API:Store类是接收邮件的核心API类,它的实例对象代表实现了某个

中国人工智能学会通讯——一种基于众包的交互式数据修复方法 5 相关工作

5 相关工作 数据修复旨在发现和修正数据库中错误的数据.在过去的几十年里,研究人员提出了各种各样自动发现并修复数据库中错误数据的方法[1].这些方法大致可以分为如下三类. (1)传统的方法先依赖各种约束条件,包括FDs[5,7].CFDs[6].完整性约束[4]和包含关系(INCs)[5]来检测数据中的由错误数据引起的不一致性(或冲突):然后用文献[2-4]中的方法修正所有的错误数据,从而解决所有的冲突.对一般的文本数据库,这一类方法中的大部分工作都是使用FD/CFDs进行修复,因为FD/CFD