smarty應用

smarty能夠實現HTML與php代碼的分離,以前咱們用php代碼作過數據的增刪改查,如今咱們運用smarty來實現這些功能,並用分頁顯示php

 

查詢;html

主頁面,以表格的形式顯示數據及須要的操做:one.htmlsql

複製代碼
<body>
<h1>主頁面</h1>
<form action="one.php" method="get">
<div>題目名稱:
<input type="text" name="name" />
所屬科目:
<select name="km">
<{foreach $km as $v}>
    <option value="<{$v[0]}>"><{$v[1]}></option>
<{/foreach}>
</select>
<input type="submit" value="查詢" />
</div>
</form>
<table border="1" width="100%" cellpadding="0" cellspacing="0">
<tr>
    <td>題目名稱</td>
    <td>答案</td>
    <td>所屬科目</td>
    <td>難度</td>
    <td>類型</td>
    <td>操做</td>
</tr>

<{foreach $shuju as $v}>
<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>
   <a href="update.php?code=<{$v[0]}>">修改</a></td>
</tr>
<{/foreach}>


</table>
<a href="add.php">添加數據</a>
<div><{$fpage}></div>
</body>
複製代碼

 

one.php:對one.html頁面進行控制,查找數據,傳送數據,並經過運行該頁面顯示one.html頁面內容;在該頁面實現分頁查詢數據庫

複製代碼
<?php
include("../init.inc.php");
include("../../DBDA.class.php");
include("page.class.php");

$db = new DBDA();
//查科目
$skm = "select * from kemu";
$akm = $db->Query($skm);



//查詢條件
$tj = " 1=1 ";//題目
$tj2 = " 1=1 ";//科目
if(!empty($_GET["name"]))
{
    $tj = " name like '%{$_GET['name']}%' ";
}
if(!empty($_GET["km"]))
{
    $tj2 = " kemu = '{$_GET['km']}' ";
}
$ftj = " where".$tj." and".$tj2;//注意空格

//總數
$sqlz = "select count(*) from timu".$ftj;
$total = $db->StrQuery($sqlz);
$page = new Page($total,2);

//查詢數據實現分頁
$sql = "select * from timu".$ftj.$page->limit;
$attr = $db->Query($sql);

$fpage = $page->fpage();



$smarty->assign("km",$akm);
$smarty->assign("fpage",$fpage);
$smarty->assign("shuju",$attr);
$smarty->display("one.html");
複製代碼

 

增長:post

add.html:增長數據頁面spa

複製代碼
<body>
<h1>添加數據</h1>
<form action="addchuli.php" method="post">
<div>請輸入題目名稱:<input type="text" name="name" /></div>
<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>
<div>請輸入題目答案:<input type="text" name="daan" /></div>
<div>請輸入科目:
<select name="kemu">
    <{foreach $kemu as $v}>
        <option value="<{$v[0]}>"><{$v[1]}></option>
    <{/foreach}>
</select>
</div>
<div>請輸入題目難度:
<select name="nandu">
    <{foreach $nandu as $v}>
        <option value="<{$v[0]}>"><{$v[1]}></option>
    <{/foreach}>
</select>
</div>
<div>請輸入題目類型:
<select name="type">
    <{foreach $type as $v}>
        <option value="<{$v[0]}>"><{$v[1]}></option>
    <{/foreach}>
</select>
</div>
<input type="submit" value="添加" />
</form>
</body>
複製代碼

 

add.php;將數據傳入add.html頁面code

複製代碼
<?php
include("../init.inc.php");
include("../../DBDA.class.php");
$db = new DBDA();
$sql = "select * from kemu";
$attr = $db->Query($sql);

$sql = "select * from nandu";
$attrnd = $db->Query($sql);

$sql = "select * from type";
$attrt = $db->Query($sql);

$smarty->assign("type",$attrt); 
$smarty->assign("nandu",$attrnd); 
$smarty->assign("kemu",$attr);   
$smarty->display("add.html");
複製代碼

 

addchuli.php:將添加的數據加入數據庫orm

複製代碼
<?php
include("../../DBDA.class.php");
$db = new DBDA();

$name = $_POST["name"];
$daan = $_POST["daan"];
$kemu = $_POST["kemu"];
$nandu = $_POST["nandu"];
$type = $_POST["type"];

$a = $_POST["a"];
$b = $_POST["b"];
$c = $_POST["c"];
$d = $_POST["d"];
//添加題目
$sql = "insert into timu values('','{$name}','{$daan}','{$kemu}','{$nandu}','{$type}')";



$r = $db->Query($sql,0);
if($r)
{
    //添加選項
    $id = $db->conn->insert_id;
    
    $sqla = "insert into xuanxiang values('','{$a}','A','{$id}')";
    $db->Query($sqla,0);
    
    $sqlb = "insert into xuanxiang values('','{$b}','B','{$id}')";
    $db->Query($sqlb,0);
    
    $sqlc = "insert into xuanxiang values('','{$c}','C','{$id}')";
    $db->Query($sqlc,0);
    
    $sqld = "insert into xuanxiang values('','{$d}','D','{$id}')";
    $db->Query($sqld,0);
    
    header("location:add.php");
    
}
else
{
    echo "添加失敗";
}
複製代碼

 

刪除:htm

delete.php:主頁面點擊刪除按鈕時,根據傳來的主鍵值刪除數據庫相關數據blog

複製代碼
<?php
$code = $_GET["code"];
include("../../DBDA.class.php");
$db = new DBDA();

$sql = "delete from xuanxiang where timu='{$code}'";
$db->Query($sql,0);

$sql = "delete from timu where code='{$code}'";
$db->Query($sql,0);

header("location:one.php");
複製代碼

 

修改;

update.html;主頁面點擊修改按鈕時,到達該頁面,並顯示出已經存在的相關數據,點擊該頁面修改按鈕後,將修改後數據傳入數據庫,原數據消失

複製代碼
<body>
<h1>修改數據</h1>
<form action="updatechuli.php?code=<{$timu[0][0]}>" method="post">
<div>請輸入題目名稱:<input type="text" name="name" value="<{$timu[0][1]}>" /></div>
    
    <{foreach $xuanxiang as $v}>
    <div>請輸入選項<{$v[2]}>:<input type="text" name="<{$v[2]}>" value="<{$v[1]}>" /></div>
    <{/foreach}>

<div>請輸入題目答案:<input type="text" name="daan" value="<{$timu[0][2]}>" /></div>
<div>請輸入科目:
<select name="kemu">
    <{foreach $kemu as $v}>
        <{if $timu[0][3]==$v[0]}>
            <option selected="selected" value="<{$v[0]}>"><{$v[1]}></option>
         <{else}>
            <option value="<{$v[0]}>"><{$v[1]}></option>
        <{/if}>
        
    <{/foreach}>
</select>
</div>
<div>請輸入題目難度:
<select name="nandu">
        <{foreach $nandu as $v}>
        <{if $timu[0][4]==$v[0]}>
            <option selected="selected" value="<{$v[0]}>"><{$v[1]}></option>
         <{else}>
            <option value="<{$v[0]}>"><{$v[1]}></option>
        <{/if}>
        
    <{/foreach}>
    
    
</select>
</div>
<div>請輸入題目類型:
<select name="type">
        <{foreach $type as $v}>
        <{if $timu[0][5]==$v[0]}>
            <option selected="selected" value="<{$v[0]}>"><{$v[1]}></option>
         <{else}>
            <option value="<{$v[0]}>"><{$v[1]}></option>
        <{/if}>
        
    <{/foreach}>
    
</select>
</div>
<input type="submit" value="修改" />
</form>
</body>
複製代碼

 

update.php:查找數據庫,將原有數據傳入update.html頁面

複製代碼
<?php
include("../init.inc.php");
include("../../DBDA.class.php");
$db = new DBDA();

$code = $_GET["code"];

$sql = "select * from timu where code='{$code}'";
$attr = $db->Query($sql);

$sql1 = "select * from xuanxiang where timu='{$code}'";
$attrxx = $db->Query($sql1);

$sql2 = "select * from kemu";
$attrkm = $db->Query($sql2);

$sql3 = "select * from nandu";
$attrnd = $db->Query($sql3);

$sql4 = "select * from type";
$attrt = $db->Query($sql4);

$smarty->assign("type",$attrt);
$smarty->assign("nandu",$attrnd);
$smarty->assign("kemu",$attrkm);
$smarty->assign("xuanxiang",$attrxx);
$smarty->assign("timu",$attr);
$smarty->display("update.html");
複製代碼

 

updatechuli.php:將修改後的數據提交到數據庫,原有數據刪除

複製代碼
<?php
include("../../DBDA.class.php");
$db = new DBDA();

$name = $_POST["name"];
$daan = $_POST["daan"];
$kemu = $_POST["kemu"];
$nandu = $_POST["nandu"];
$type = $_POST["type"];
$code = $_GET["code"];

$a = $_POST["A"];
$b = $_POST["B"];
$c = $_POST["C"];
$d = $_POST["D"];

$sqls = "delete from timu where code='{$code}'";
if($db->Query($sqls,0))
{

$sql = "insert into timu values('','{$name}','{$daan}','{$kemu}','{$nandu}','{type}')";
if($db->Query($sql,0))
{
    //添加選項
    $id = $db->conn->insert_id;
    
    $sqla = "insert into xuanxiang values('','{$a}','A','{$id}')";
    $db->Query($sqla,0);
    
    $sqlb = "insert into xuanxiang values('','{$b}','B','{$id}')";
    $db->Query($sqlb,0);
    
    $sqlc = "insert into xuanxiang values('','{$c}','C','{$id}')";
    $db->Query($sqlc,0);
    
    $sqld = "insert into xuanxiang values('','{$d}','D','{$id}')";
    $db->Query($sqld,0);
    header("location:one.php");
}
else
{
    echo "修改失敗";
}
}
else
{
    echo "刪除失敗";
}
相關文章
相關標籤/搜索