smarty引擎之练习

关于smarty最直观的感受就是分离了页面中html和php的代码,页面不再混乱,很清晰了……

smarty->assign();//注册

smarty->display();//加载模板

除了老师给的表,kemu,nandu,type都建了表格,便于使用

main.php

<?phpinclude("./init.inc.php");//加载配置文件
//echo str_replace("\\","/",dirname(__FILE__))."/";
include("ChaXun.class.php");//加载类
$db=new ChaXun();
$sql="select * from timu";
$attr=$db->Query($sql);
//var_dump($attr);$smarty->assign("shuju",$attr);//将要注册内容给smarty
$smarty->display("main.html");

main.html

<html>
<head>
<meta charset="utf-8" />
</head><body>
<h1>主页面</h1>
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>题目名称</td>
<td>答案</td>
<td>所属科目</td>
<td>难度</td>
<td>题目类型</td>
<td>操作</td>
</tr>
<{foreach $shuju as $v}>//遍历smarty传过来的$shuju,这里使用foreach要注意结束foreach
<tr>
<td><{$v[1]}></td>
<td><{$v[2]}></td>
<td><{$v[3]}></td>
<td><{$v[4]}></td>
<td><{$v[5]}></td>
<td><a href="delete.php?code=<{$v[0]}>">删除</a>&nbsp;&nbsp;<a href="update.php?code=<{$v[0]}>">更改</a></td>
</tr><{/foreach}>
</table>
<a href="add.php">添加数据</a></body>
</html>

add.php

<?php
include("./init.inc.php");
//echo str_replace("\\","/",dirname(__FILE__))."/";
include("ChaXun.class.php");
$db=new ChaXun();
$sqlkm="select * from kemu";
$akm=$db->Query($sqlkm);$sqlnd="select * from nandu";
$and=$db->Query($sqlnd);$sqltp="select * from type";
$atp=$db->Query($sqltp);$smarty->assign("kemu",$akm);
$smarty->assign("nandu",$and);
$smarty->assign("type",$atp);
$smarty->display("add.html");

add.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>
<h1>添加页面</h1><form action="addchuli.php" method="post">
<div>题目名称:<input type="text" name="name" /></div><br /><div>请输入选项A:<input type="text" name="A" /></div>
<div>请输入选项B:<input type="text" name="B" /></div>
<div>请输入选项C:<input type="text" name="C" /></div>
<div>请输入选项D:<input type="text" name="D" /></div><br /><div>题目答案:<input type="text" name="daan" /></div><br />
<div>所属科目:<select name="kemu"><{foreach $kemu as $v}><option value="<{$v[0]}>"><{$v[1]}></option><{/foreach}></select></div><br /><div>难度:<select name="nandu"><{foreach $nandu as $v}><option value="<{$v[0]}>"><{$v[1]}></option><{/foreach}></select></div><br /><div>题目类型:<select name="leixing"><{foreach $type as $v}><option value="<{$v[0]}>"><{$v[1]}></option><{/foreach}></select></div><br /><div><input type="submit" value="添加数据"/></div></form>
</body>
</html>

addchuli.php

<?php
include("ChaXun.class.php");
$db=new ChaXun();$name=$_POST["name"];
$daan=$_POST["daan"];
$kemu=$_POST["kemu"];
$nandu=$_POST["nandu"];
$type=$_POST["leixing"];$A=$_POST["A"];
$B=$_POST["B"];
$C=$_POST["C"];
$D=$_POST["D"];$sqltm="insert into timu values('','{$name}','{$daan}','{$kemu}','{$nandu}','{$type}')";
if($db->Query($sqltm,1))
{    $id=$db->conn->insert_id;$sqlA="insert into xuanxiang values('','{$A}','A','{$id}')";$aA=$db->Query($sqlA,1);$sqlB="insert into xuanxiang values('','{$B}','B','{$id}')";$aB=$db->Query($sqlB,1);$sqlC="insert into xuanxiang values('','{$C}','C','{$id}')";$aC=$db->Query($sqlC,1);$sqlD="insert into xuanxiang values('','{$D}','D','{$id}')";$aD=$db->Query($sqlD,1);header("location:add.php");
}
else
{echo"添加失败";
}

delete.php

<?php
include("ChaXun.class.php");
$db=new ChaXun();$code=$_GET["code"];$sql="delete from timu where code='{$code}'";
$db->Query($sql,1);$sqlxx="delete from xuanxiang where timu='{$code}'";
$db->Query($sqlxx,1);header("location:main.php");

update.php

<?php
include("./init.inc.php");
//echo str_replace("\\","/",dirname(__FILE__))."/";
include("ChaXun.class.php");
$db=new ChaXun();
$code=$_GET["code"];$sql="select * from timu where code='{$code}'";
$atm=$db->Query($sql);$sqlxx="select * from xuanxiang where timu='{$code}'";
$axx=$db->Query($sqlxx);$sqlkm="select * from kemu";
$akm=$db->Query($sqlkm);$sqlnd="select * from nandu";
$and=$db->Query($sqlnd);$sqltp="select * from type";
$atp=$db->Query($sqltp);$smarty->assign("type",$atp);
$smarty->assign("nandu",$and);
$smarty->assign("kemu",$akm);
$smarty->assign("xx",$axx);
$smarty->assign("timu",$atm);
$smarty->display("update.html");

updatechuli.php

<?phpinclude("ChaXun.class.php");
$db=new ChaXun();$code=$_GET["code"];
$name=$_POST["name"];
$daan=$_POST["daan"];
$kemu=$_POST["kemu"];
$nandu=$_POST["nandu"];
$type=$_POST["leixing"];
//这里也可以先删除清空所有,再insert into 也可以
$sql="update timu set name='{$name}',daan='{$daan}',kemu='{$kemu}',nandu='{$nandu}',type='{$type}' where code='{$code}'";//var_dump($db->Query($sql,1));
if($db->Query($sql,1))
{header("location:main.php");
}
else
{echo"更改失败";
}

 

转载于:https://www.cnblogs.com/nannan-0305/p/5560959.html

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Heron 论文翻译及理解

Heron 论文翻译及理解 背景介绍&#xff1a; Heron是号称Twitter流数据处理的新一代实现&#xff0c;是StormV2。我们首先回顾一下Storm系统的问题 worker日志混乱&#xff0c;如果一个bolt日志过大&#xff0c;会冲掉其他bolt的日志worker之间因为没有资源隔离&#xff0c;因此…

1688比赛中的配对次数

给你一个整数 n &#xff0c;表示比赛中的队伍数。比赛遵循一种独特的赛制&#xff1a; 如果当前队伍数是 偶数 &#xff0c;那么每支队伍都会与另一支队伍配对。总共进行 n / 2 场比赛&#xff0c;且产生 n / 2 支队伍进入下一轮。 如果当前队伍数为 奇数 &#xff0c;那么将…

Hadoop:简单介绍

什么是Hadoop&#xff1a; Hadoop是一种用Java编写的框架&#xff0c;用于在大型商品硬件集群上运行应用程序&#xff0c;并具有类似于Google File System和MapReduce的功能 。 HDFS是高度容错的分布式文件系统&#xff0c;与Hadoop一样&#xff0c;旨在部署在低成本硬件上。 它…

PHP中__get()和__set()的用法实例详

刚刚看到一个对我有用的文章&#xff0c;我就把它摘抄下来了。 php面向对象_get(),_set()的用法 一般来说&#xff0c;总是把类的属性定义为private&#xff0c;这更符合现实的逻辑。但是&#xff0c;对属性的读取和赋值操作是非常频繁的&#xff0c;因此在PHP5中&#xff0…

Javascript 异步编程的4种方法

你可能知道&#xff0c;Javascript语言的执行环境是"单线程"&#xff08;single thread&#xff09;。 所谓"单线程"&#xff0c;就是指一次只能完成一件任务。如果有多个任务&#xff0c;就必须排队&#xff0c;前面一个任务完成&#xff0c;再执行后面一…

力扣奇偶链表

给定单链表的头节点 head &#xff0c;将所有索引为奇数的节点和索引为偶数的节点分别组合在一起&#xff0c;然后返回重新排序的列表。 第一个节点的索引被认为是 奇数 &#xff0c; 第二个节点的索引为 偶数 &#xff0c;以此类推。 请注意&#xff0c;偶数组和奇数组内部的…

JAVA入门之方法

所谓方法&#xff0c;就是用来解决一类问题的代码的有序组合&#xff0c;是一个功能模块。 一般情况下&#xff0c;定义一个方法的语法是&#xff1a; 其中&#xff1a; 1、 访问修饰符&#xff1a;方法允许被访问的权限范围&#xff0c; 可以是 public、protected、private 甚…

使用Netbeans开发App Engine Java

如果您刚开始进行App引擎开发&#xff0c;那么您可能会感觉Eclipse是首选的IDE。 而且&#xff0c;Google还单独提供了它的Eclipse IDE 官方插件 。 但是不使用Eclipse的人呢&#xff1f; 当然&#xff0c;您始终可以进行命令行开发&#xff0c;但是现在这些人是谁&#xff01;…

JAVA基本类库介绍

我们曾经讲过&#xff0c;Java已经为编程者编制了许多类&#xff0c;这些类已经经过测试&#xff0c;基本上不存在错误&#xff0c;这些类都是我们编程的基础。如果不利用这些已存在的类&#xff0c;我们的 编程工作将变得异常复杂&#xff0c;所以我们应尽可能多的掌握Java基本…

力扣回文链表

给你一个单链表的头节点 head &#xff0c;请你判断该链表是否为回文链表。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 class Solution {public boolean isPalindrome(ListNode head) {List<Integer> res new ArrayList<Integer>()…

JAVA运算符和优先级

1、算术运算符&#xff1a; 和 -- 既可以出现在操作数的左边&#xff0c;也可以出现在右边&#xff0c;但结果是不同&#xff0c;如&#xff1a; ①int a5&#xff1b;int ba&#xff1b; #先把a赋给b&#xff0c;a再自增 ②int a5&#xff1b;int ba&#xff1b;   #a先…

将JSON功能添加到您的GWT应用程序中

JSON简介 在Web应用程序上工作时&#xff0c;总是会出现客户端-服务器数据交换的问题。 在此问题上有多种方法&#xff0c;其中许多使用XML进行交换。 执行此任务的一种不太知名的格式是JSON。 JSON&#xff08;JavaScript对象表示法&#xff09;是一种轻量级的数据交换格式。…

win10资源管理器怎么打开_让你效率倍增的电脑神器,最强资源管理器增强工具「QTTabBar」...

前言Windows 自带的资源管理器的功能比较简单&#xff0c;够用是够用了&#xff0c;但有时也确实无法满足我们对更便捷高效的操作方式的追求。「QTTabBar」正是一个非常强大的 Windows 资源管理器增强工具&#xff01;不仅支持多标签页管理&#xff0c;还有许多便捷的扩展功能&…

android横向滑动选择的view

做文字编辑&#xff0c;从网上找来的。 HorizontalScrollSelectView&#xff1a; public boolean mAlwaysOverrideTouch true;protected ListAdapter mAdapter;private int mLeftViewIndex -1;private int mRightViewIndex 0;protected int mCurrentX;protected int mNextX;…

适用于Mac OS X的官方Java 7 –状态

希望到现在&#xff0c;每个人都知道苹果公司去年加入了OpenJDK项目。 这意味着什么&#xff1f; 苹果将​​把用于私有Mac Java构建的代码作为GPL代码贡献给OpenJDK 甲骨文将接管Java的Mac端口 随着时间的流逝&#xff0c;Mac平台将成为Java世界中完全一流的公民 对于想要在…

excel使用教程_数据分析Excel必备技能:数据透视表使用教程

江米小枣tonylua | 作者掘金 | 来源处理数量较大的数据时&#xff0c;一般分为数据获取、数据筛选&#xff0c;以及结果展示几个步骤。在 Excel 中&#xff0c;我们可以利用数据透视表(Pivot Table)方便快捷的实现这些工作。本文首先手把手的教你如何在 Excel 中手动构建一个基…

.典型用户 - 场景

典型用户&#xff1a; 名字黄德胜性别、年龄男&#xff0c;35岁职业自由投资人收入20万元/年知识层次和能力专科&#xff0c;有一定的投资经验&#xff0c;对经济有自己的看法生活/工作情况已婚&#xff0c;生活负担在加重动机&#xff0c;目的&#xff0c;困难想要增加收入&am…

java调用webservice_笃学私教:Java开发网站架构演变过程-从单体应用到微服务架构详解...

原标题&#xff1a;笃学私教&#xff1a;Java开发网站架构演变过程-从单体应用到微服务架构详解Java开发网站架构演变过程&#xff0c;到目前为止&#xff0c;大致分为5个阶段&#xff0c;分别为单体架构、集群架构、分布式架构、SOA架构和微服务架构。下面玄武老师来给大家详细…

再把你的钱加倍

总览 很久以前&#xff0c;我写了一篇关于用双倍赚钱的文章。 但是&#xff0c;当解决方案相当简单时&#xff0c;仍然是许多开发人员普遍担心的问题。 用双倍赚钱的问题 double有两种类型的错误。 它存在表示错误。 即&#xff0c;它不能完全代表所有可能的十进制值。 即使0…

单元测试中Assert类的用法

Assert类所在的命名空间为Microsoft.VisualStudio.TestTools.UnitTesting 在工程文件中只要引用Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll就可以使用了&#xff0c; 在这里我会举例说明Assert里面的一些主要的静态成员。 1、 AreEqual&#xff1a;方法被重载…