smarty引擎之练习

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

smarty->assign();//注册

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

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

main.php

<?php

include("./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

<?php

include("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"更改失败";
}
时间: 2024-10-06 05:23:22

smarty引擎之练习的相关文章

将TP引擎改为smarty引擎

在common/config文件里设置'TMPL_ENGINE_TYPE'=>'Smarty'即可,但要注意,在模板文件里的css样式{}要用一对{literal}{/literal}标签包裹,禁止smarty引擎解析.所有$Think改为$smarty,还有tp引擎可以直接用__MODULE__常量,smarty要用{$smarty.const.__MODULE__}访问

在新浪云SAE中使用smarty引擎模版

在新浪云上使用smarty时会发现又这样的错误信息: “SAE_Fatal_error: Uncaught exception 'SmartyException' with message 'unable to write file ./web/templates_c/wrt4e95555280ef1' ”. 这是因为不能使用官方下载的smarty文件包,要下载smarty for sae的专门版本,地址:http://code.google.com/p/smarty4sae/downloads

【原创】smarty引擎下的导航按钮高亮实现

<?php$_nvaarr = array( array('name'=>'首页','url'=>'company.php?id='), array('name'=>'公司介绍','url'=>'company_introduction.php?id='), array('name'=>'新闻资讯','url'=>'company_news.php?id='), array('name'=>'业界动态','url'=>'company_XX.php?i

jQuery入门第二天&amp;&amp;&amp;正则表达式完结篇——仿smarty引擎的制作

hi 周一完全的不在状态...中午还去观战,没有睡觉的我,晚上的smarty不知道能不能做完,加油吧 1.jQuery ---过滤性选择器(二)--- --[attribute=value]属性选择器 属性作为DOM元素的一个重要特征,也可以用于选择器中,从本节开始将介绍通过元素属性获取元素的选择器,[attribute=value]属性选择器的功能是获取与属性名和属性值完全相同的全部元素,其中[]是专用于属性选择器的括号符,参数attribute表示属性名称,value参数表示属性值. <h3

Smarty模板引擎技术(一)

一.Smarty模板引擎简介 什么是smarty? Smarty是采用php写的一个模版引擎,设计的目的是要将php代码与html代码分离,使php程序员只专注于php代码的编写,网页美工只专注于网页的美化 没有模版引擎时出现的问题? html中php代码比重越来越大 页面的数量越来越多 程序设计与美工设计分工不明确 传统的php文件: 1. php代码跟html混编在一起,不利于程序员和美工的分工,程序员和美工不能同时修改一个文件 2.数据的传递同一页面传递,php数据在页面中的显示需要使用p

Smarty模本引擎

封装一个自定义Smarty引擎 Smart模板注释 基本语法:{* 注释内容 *} Smarty模板中的变量 简单变量 四种标量类型:整型.浮点型.布尔型和字符串型! 数组变量 可以给模板分配一个数组变量使用(一维和多维都可以) 对象变量 我们同样的可以将一个对象变量分配给模板文件,然后通过{$对象名->属性名}来访问这个对象的属性值! 变量调节器 基本语法 不同的调节器有不同的名字,可以完成不同的功能,并且不同的调节器都有自己不同的参数! {$变量名|调节器名:参数1:参数2:参数3--} c

smarty 模板几个例子

一.assign和display方法的使用以及几个变量调节器 header("content-type:text/html;charset=utf-8");//加载Smarty引擎文件include "./smarty/Smarty.class.php"; //连接数据库,提取相关数据$title = "Smarty 模板引擎";$content = "Smarty 模板引擎Smarty 模板引擎Smarty 模板引擎"; /

yii2 使用twig 模板引擎

yii2 默认使用PHP 和html 混合的方式来写视图层,但我个人还是喜欢纯模板语言的方式.而且已经非常习惯使用twig的语法,最近想使用yii2进行开发,所以还是选择使用twig视图引擎. github 已经有人提供了这样的vendor ,可以直接comoser 配置一下进行使用. composer.json 文件 require 添加 "yiisoft/yii2-twig": "*" 然后 composer update  前往common/config 下

如何处理JS与smarty标签的冲突

smarty的默认标记符是大括号:{}, 假如我们页面上有JS且定义了函数或者对象,或者有CSS定义了样式,就会出现大括号, smary引擎就会把这些大括号当作smarty语法来解释, 很明显,这些CSS样式属性和JS里的语法,不是smarty的语法, smarty引擎就会报错. 解决办法一.修改smart默认定界符,在php中,修改smarty对象的$left_delimiter和$right_delimiter属性. 很多人喜欢改为<{和}>,也有人改为<!--{和}-->,这