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.pswp.cn/news/374570.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/374570.shtml
英文地址,請注明出處:http://en.pswp.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;方法被重載…