6月6 Smarty练习----设置题目及打印试卷
所需要的数据库表格:shiti, shititimu, timu, kemu, xuanxiang

考试试题的设置:
考试试题后台:ksset.php
<?php
include("../init.inc.php"); include("../DBDA.php");
$db = new DBDA(); $skm = "select * from kemu";
$akm = $db->Query($skm); $smarty->assign("kemu",$akm);
$smarty->display("ksset06.html");
考试试题处理页面:kssetchuli.php
<?php
include("../DBDA.php");
$db = new DBDA();
$code = $_POST["code"];
$name = $_POST["name"];
$kemu = $_POST["kemu"];
$shijian = $_POST["shijian"];
$shuliang = $_POST["shuliang"];
$fenzhi = $_POST["fenzhi"];
$sql = "insert into shiti values('{$code}','{$shijian}','{$kemu}','{$name}','{$shuliang}','{$fenzhi}')";
$db->Query($sql,1);
$sall = "select code from timu where kemu ='{$kemu}'";
$aall = $db->Query($sall);
var_dump($aall);
$shuzu = array();//生成的试题代号
for($i=0;$i<$shuliang;$i++)
{
$n = rand(0,count($aall)-1);//0-数组长度的随机数(索引从0开始的)
$daihao = $aall[$n][0];
if(in_array($daihao,$shuzu))
{
$i--;
}
else
{
array_push($shuzu,$daihao);
}
}
foreach($shuzu as $k=>$v)
{
$shunxu = $k+1;
$sttm = "insert into shititimu values('','{$code}','{$v}','{$shunxu}')";
$db->Query($sttm,1);
}
header("location:ksset.php");
考试试题前端显示:ksset06.html
<!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>考试信息</title>
<script src="../../jquery-1.11.2.min.js"></script>
</head> <body>
<!--<a href="#" onclick="return confirm('确定要删除吗')">删除</a>-->
<h1>设置考试信息</h1>
<form action="kssetchuli.php" method="post">
<div>请输入考试编号:<input type="text" name="code" /></div></br> <div>请输入考试名称:<input type="text" name="name" /></div></br> <div>请选择考试科目:
<select name="kemu" id="kemu">
<{foreach $kemu as $v}>
<option value="<{$v[0]}>"><{$v[1]}></option>
<{/foreach}>
</select>
</div></br> <div>请输入考试时间:<input type="text" name="shijian" />分钟</div></br> <div>请输入题目数量:<input type="text" name="shuliang" id="sl" /></div></br> <div>请输入题目分值:<input type="text" name="fenzhi" /></div></br> <input type="submit" value="提交" id="tj" onclick="Check()" />
</form>
</body>
</html>
<script type="text/javascript">
$(document).ready(function(e) {
$("#tj").click(function(){
var km = $("#kemu").val();
var sl = $("#sl").val();
var bs = ""; $.ajax({
url:"panduansl.php",
async:false,
data:{km:km,sl:sl},
type:"POST",
dataType:"TEXT",
success: function(data){
bs = data;
}
}); if(bs.trim()=="OK")
{
return true;
}
else
{
alert("该科目下的题目数量不足");
return false;
} }) }); </script>
前端的显示数据包含需要判断的输入该科目下的试题数量的比较:panduansl.php(使用ajax)
<?php
include("../DBDA.php");
$db = new DBDA();
$km = $_POST["km"];
$sl = $_POST["sl"];
$sall = "select count(*) from timu where kemu ='{$km}'";
$aall = $db->StrQuery($sall);
if($aall>=$sl)//表中的与写进去的比较
{
echo "OK";
}
else
{
echo "NO";
}
形成试卷的相关页面:
形成的试卷后台页面:kstimu.php
<?php
include("../init.inc.php"); include("../DBDA.php");
$db = new DBDA(); $sst = "select * from shiti";
$ast = $db->Query($sst); $shzu = array();//题目信息 if(empty($_POST["ksmc"]))
{ }
else
{
$code = $_POST["ksmc"];//根据他去查shititimu
$stm = "select * from shititimu where shiti='{$code}'";
$atm = $db->Query($stm);
//var_dump($atm);
foreach($atm as $v)
{
$tmdh = $v[2];//代号
$tmsx = $v[3];//顺序 $sname = "select name from timu where code='{$tmdh}'";
$tmmc = $db->StrQuery($sname);
//echo $tmmc; $sxx = "select name,xuanxiang from xuanxiang where timu ='{$tmdh}'";
$axx = $db->Query($sxx);//选项
//var_dump($axx); $tmxx = array("tmsx"=>$tmsx,"tmmc"=>$tmmc,"xuanxiang"=>$axx);
$shzu[] = $tmxx;//往数组添加数据
//var_dump($shzu);
} } $smarty->assign("tm",$shzu);
$smarty->assign("st",$ast);
$smarty->display("kstimu06.html");
形成的试卷前端显示:kstimu06.html
<!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>无标题文档</title>
</head> <body>
<form action="kstimu.php" method="post">
<h1>试题详情</h1>
<div>请选择考试名称:
<select name="ksmc">
<{foreach $st as $v}>
<option value="<{$v[0]}>"><{$v[3]}></option>
<{/foreach}>
</select> <input type="submit" value="查询" />
</div>
</form>
<br />
<div>
<{foreach $tm as $v}>
<div style="font-size:18px; font-weight:bold; color:#906"><{$v.tmsx}> <{$v.tmmc}></div> <{foreach $v.xuanxiang as $v1}>
<div><{$v1[1]}>:<{$v1[0]}></div>
<{/foreach}><br /> <{/foreach}> </div>
</body>
</html>

6月6 Smarty练习----设置题目及打印试卷的更多相关文章
- smarty练习: 设置试题及打印试卷
数据库表格:shiti, shititimu, timu, kemu, xuanxiang 根据科目设置一个可以添加试题的页面:(如下图) 具体的题目从数据库中查出并形成一张试卷的形式 考试试题设置: ...
- 题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花 数 ",因为153=1的三次方+5的三次方+3的三次方。
题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个 "水仙花 数 ", ...
- Excel2010表格里设置每页打印时都有表头
在打印Excel表格时常常会出现如果存在多页打印时,往往从第二页开始就会出现没有表头的情况,导致到后面都不清楚对应的是哪个数据,查看时也很麻烦,下面就将为大家介绍如何在Excel表格里设置每页打印时都 ...
- Logback设置SQL参数打印
一.hibernate中设置SQL参数打印: (主要是第一句) <logger name="org.hibernate.type.descriptor.sql.BasicBinder& ...
- 6月5 Smarty自定义函数
自定义函数:<{方法名称}> 在html页面是可以直接赋值的:(没啥作用只是知道即可) <{$a = "hello"}><div><{$a ...
- 关于datepicker只显示年、月、日的设置
关键时侯,还得看官方文档.花了半个多小时,找了网上一大堆答复,然后一一验证,90%没有能解决问题. 先给出官方文档的URL: http://bootstrap-datepicker.readthedo ...
- 6月4 Smarty练习增删改
练习Smarty的增删改所需要用到的数据库名称:timu,xuanxiang,kemu,nandu,leixing,然后使用smarty模板将前端后后台分割开来: 主页后台页面:zhupm.php & ...
- 6月3 Smarty基础读取配置
Smarty百科 Smarty是一个php模板引擎.更准确的说,它分开了逻辑程序和外在的内容,提供了一种易于管理的方法.可以描述为应用程序员和美工扮演了不同的角色,因为在大多数情况下 ,他们不可能是同 ...
- 6月5 Smarty变量调节器
变量调节器:<{$a|变量调节器}> 主要修改此页面的信息来了解变量调节器:test0605/main.php和模板文件:main0605.html 1.利用给定的变量调节器 capita ...
随机推荐
- TIM定时器的应用
TIM定时器的应用 ①输入捕获的应用: 上一节,我已阐述TIM的输入捕获具体作用有两个(如下图): 对输入信号的测量: ...
- 使用PlaceHolder,测试碰见的问题
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFa ...
- 【C#】C# in deep 笔记
1. delegate and events http://csharpindepth.com/Articles/Chapter2/Events.aspx 2. 显式类型 和 隐式类型 3. 静态类型 ...
- mysql分区分表讲解
为什么要分表和分区? 日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表.这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能 ...
- dynamic web module讲解
一.java的web系统有多种类型,比如静态的和动态的,然后动态的java web project要设置dynamic web module,也就是动态网页模型,他必须要和对应的服务器搭配好了才能跑, ...
- tomcat中实现特定路径下的图片的url访问Tomcat配置图片保存路径,图片不保存在项目路径下
使用Tomcat作为服务器的时候,如果不配置图片保存路径,将图片保存在项目路径下,那么再次打war包发布项目可能会造成图片的丢失,每次重启前将图片先保存再copy到服务器明显不方便,这时可以配置图片保 ...
- Python 爬虫常用的库
一.常用库 1.requests 做请求的时候用到. requests.get("url") 2.selenium 自动化会用到. 3.lxml 4.beautifulsoup 5 ...
- 数据库无法打开到SQL Server连接
今天打开数据库,发现连接不上,弹出错误提示: 打开SQLServer Configuration Manager,发现SQL Server状态已经停止,双击启动弹出错误提示: 打开SQL Server ...
- 陌上花开——CDQ分治
传送门 “CDQ分治”从来都没有听说过,写了这题才知道还有这么神奇的算法. (被逼无奈).w(゚Д゚)w 于是看了不少dalao的博客,对CDQ算法粗浅地了解了一点.(想要了解CDQ的概念,可以看下这 ...
- vs2015 VS-Visual Studio-IIS Express 支持局域网访问
使用Visual Studio开发Web网页的时候有这样的情况:想要在调试模式下让局域网的其他设备进行访问,以便进行测试.虽然可以部署到服务器中,但是却无法进行调试,就算是注入进程进行调试也是无法达到 ...