phpsmartyceil的簡單介紹

本文目錄一覽:

用php的Smarty模板的後台程序,如何做文件導出(導成excel文件)???

smarty最後生成的也是html,所以以下是用js導出HTML表格到EXCEL的示例代碼:

HTML

HEAD

TITLE將頁面中指定表格的數據導入到Excel中/TITLE

SCRIPT LANGUAGE=”javascript”

!–

function AutoExcel(){

var oXL =new ActiveXObject(“Excel.Application”); //創建應該對象

var oWB = oXL.Workbooks.Add();//新建一個Excel工作簿

var oSheet = oWB.ActiveSheet;//指定要寫入內容的工作表為活動工作表

var table = document.getElementById(“data”);//指定要寫入的數據源的id

var hang = table.rows.length;//取數據源行數

var lie = table.rows(0).cells.length;//取數據源列數

// Add table headers going cell by cell.

for (i=0;ihang;i++){//在Excel中寫行

for (j=0;jlie;j++){//在Excel中寫列

//定義格式

oSheet.Cells(i+1,j+1).NumberFormatLocal =”@”;//將單元格的格式定義為文本

//oSheet.Cells(i+1,j+1).Font.Bold = true;//加粗

oSheet.Cells(i+1,j+1).Font.Size =10;//字體大小

oSheet.Cells(i+1,j+1).value = table.rows(i).cells(j).innerText;//向單元格寫入值

}

}

oXL.Visible =true;

oXL.UserControl =true;

oXL=null

}

//–

/SCRIPT

/HEAD

BODY

table border=”0″ width=”300″ id=”data” bgcolor=”black” cellspacing=”1″

tr bgcolor=”white”

td編號/td

td姓名/td

td年齡/td

td性別/td

/tr

tr bgcolor=”white”

td0001/td

td張三/td

td22/td

td女/td

/tr

tr bgcolor=”white”

td0002/td

td李四/td

td23/td

td男/td

/tr

/table

input type=”button” name=”out_excel” onclick=”AutoExcel();” value=”導出到excel”

/BODY

/HTML

用smarty(php)遍歷Msql的2個表並通過smarty模板顯示

查詢語句:

select u.name,u.class,c.number,c.floor

from user u

left join class c on u.class=c.id

分頁的話在後面用limit 就OK了

詳細的代碼如下:

pageft.php

?php

/**

* @author Seph

* @desc pageft

* @date 2009-12-12

*/

//為了避免重複包含文件而造成錯誤,加了判斷函數是否存在的條件:

if(!@function_exists(pageft)){

//定義函數pageft(),三個參數的含義為:

//$totle:信息總數;

//$displaypg:每頁顯示信息數,這裡設置為默認是20;

//$url:分頁導航中的鏈接,除了加入不同的查詢信息「page」外的部分都與這個URL相同。

// 默認值本該設為本頁URL(即$_SERVER[“REQUEST_URI”]),但設置默認值的右邊只能為常量,所以該默認值設為空字元串,在函數內部再設置為本頁URL。

function pageft($totle,$displaypg=20,$url=”){

//定義幾個全局變數:

//$page:當前頁碼;

//$firstcount:(資料庫)查詢的起始項;

//$pagenav:頁面導航條代碼,函數內部並沒有將它輸出;

//$_SERVER:讀取本頁URL「$_SERVER[“REQUEST_URI”]」所必須。

global $page,$firstcount,$pagenav,$_SERVER;

//為使函數外部可以訪問這裡的「$displaypg」,將它也設為全局變數。注意一個變數重新定義為全局變數後,原值被覆蓋,所以這裡給它重新賦值。

$GLOBALS[“displaypg”]=$displaypg;

/*if(!$page) $page=1*/;

if(@$_GET[‘page’])

$page = intval($_GET[‘page’]);

else

$page = 1;

//如果$url使用默認,即空值,則賦值為本頁URL:

if(!$url){ $url=$_SERVER[“REQUEST_URI”];}

//URL分析:

$parse_url=parse_url($url);

$url_query=@$parse_url[“query”]; //單獨取出URL的查詢字串

if($url_query){

//因為URL中可能包含了頁碼信息,我們要把它去掉,以便加入新的頁碼信息。

//這裡用到了正則表達式,請參考「PHP中的正規表達式」()

$url_query=ereg_replace(“(^|)page=$page”,””,$url_query);

//將處理後的URL的查詢字串替換原來的URL的查詢字串:

$url=str_replace($parse_url[“query”],$url_query,$url);

//在URL後加page查詢信息,但待賦值:

if($url_query) $url.=”page”; else $url.=”page”;

}else {

$url.=”?page”;

}

//頁碼計算:

$lastpg=ceil($totle/$displaypg); //最後頁,也是總頁數

$page=min($lastpg,$page);

$prepg=$page-1; //上一頁

$nextpg=($page==$lastpg ? 0 : $page+1); //下一頁

$firstcount=($page-1)*$displaypg;

//開始分頁導航條代碼:

$pagenav=”顯示第 B”.($totle?($firstcount+1):0).”/B-B”.min($firstcount+$displaypg,$totle).”/B 條記錄,共 $totle 條記錄BR”;

//如果只有一頁則跳出函數:

if($lastpg=1) return false;

$pagenav.=” a href=’$url=1′ target=_self首頁/a “;

if($prepg) $pagenav.=” a href=’$url=$prepg’ target=_self前頁/a “; else $pagenav.=” 前頁 “;

if($nextpg) $pagenav.=” a href=’$url=$nextpg’ target=_self後頁/a “; else $pagenav.=” 後頁 “;

$pagenav.=” a href=’$url=$lastpg’ target=_self尾頁/a “;

//下拉跳轉列表,循環列出所有頁碼:

$pagenav.=” 到第 select name=’topage’ size=’1′ onchange=’window.location=\”$url=\”+this.value’\n”;

for($i=1;$i=$lastpg;$i++){

if($i==$page) $pagenav.=”option value=’$i’ selected$i/option\n”;

else $pagenav.=”option value=’$i’$i/option\n”;

}

$pagenav.=”/select 頁,共 $lastpg 頁”;

}

}/*沒有用Get傳值*/

?

list.php

=================================

?php

//鏈接資料庫

require(“pageft.php”);

$pagesize = 10;//每頁顯示條數

$sql_num = “select u.name,u.class,c.number,c.floor from user u left join class c on u.class=c.id”;

$que_num = mysql_query($sql_num);

$num = mysql_num_rows($que_num);

pageft($num,$pagesize);

$array = array();

$sql = “select u.name,u.class,c.number,c.floor from user u left join class c on u.class=c.id limit “.$firstcount.”,”.$pagesize;

$query = mysql_query($sql);

$i=0;

while($rs = mysql_fetch_array($query))

{

$array[] = array(

‘code’ = $i++

‘name’ = $rs[‘name’],

‘class’= $rs[‘class’],

‘num’ = $rs[‘number’],

‘floor’= $rs[‘floor’]

)

}

//$tpl是我實例化的smarty的對象換成您的就OK了

$tpl – assign(“arr”,$array);//查出的結果 二維數組

$tpl – assign(“pagenav”,$pagenav);//分頁條

$tpl – display(“list.html”);

?

list.html

========================

html

head

title列表/title

/head

body

table

tr

td姓名/td

td班級/td

td班級人數/td

td所在樓層/td

/tr

!– 我這的 “{“和”}”是在smarty里設置的標籤開始結束 換成您的 —

{foreach item=loop from=$arr}

tr style=”background-color:{if loop.code%2==0}#E9FAFC{elseif loop.code%2==1}#DAEFDB{/if}”

td{$loop.name}/td

td{$loop.class}/td

td{$loop.num}/td

td{$loop.floor}/td

/tr

{/foreach}

tr

td colspan=”3″{$pagenav}/td

/tr

/table

/body

/html

我只是大體寫了一下 您自己在完善一下

有不明白的地方可以在線問我 我HI一直在線

希望我的回答對您有所幫助

\(^o^)/~

php的smarty產生的錯誤怎麼解決?我的smarty顯示ok頁了。但是請看問題補充說明有,能解決問題的加分

[function.include-once]: failed to open stream: No such file or directory in D:\xampp\htdocs\smarty\sjlmSmarty.class.php on line 12

這一句出錯,可以導致其他錯誤,請檢查你引用SMARTY相對路徑!解決這其他都好辦!

php中smarty模板的escape轉碼後的超鏈接報403

解決辦法如下:

1、在php代碼中直接使用urlencode處理你的$url,然後assion入smarty模板,輸出結果A後,點擊鏈接A看是否可用,

2、如果上述操作後,鏈接A不可用,就說明是你的瀏覽器(伺服器)不支持直接url安全碼的自動解碼(是會有某些瀏覽器或伺服器的支持度不夠好的)。這時就需要你在php端做urldecode的解碼工作,來恢復到常規的url B,從而打開這個常規url B。

3、如果鏈接A可用,就說明是在smarty中的escape確實是有了問題。那就不要使用這個方法。

4、另外,切記——(href=””),這個引號是必需要的。儘可能避開一些微妙的外在因素的干擾。你可以寫成a href='{“urlceshi.php?name=leopwd=123″|escape:”url”}’

PHP Smarty在虛擬主機里為什麼Session和全局變數不起作用?

新伺服器配置沒問題,是你程序跟不上時代步伐了

和新伺服器上的register_globals = Off

這一項有關.導致你的變數不能傳遞,與session無關.所以,你得改程序了.

可能是你的PHP程序太老舊了!

建立一個PHP程序,內容為

?php

phpinfo();

?

訪問一下

然後在打開的頁子中找到

register_globals這一項,

看看後面的值是on還是off

還有session.auto_start這一項

看看是on還是off

PHP為了安全,這兩後都設為了off,而過去的版本都是on的.

如果是off,你的程序就需要大範圍的修改了,改著倒不難,但都是體力活,呵呵.

和smarty無關.

php標籤在smarty裡面不能使用,怎麼辦

smarty本身是不推薦使用php標記的,可以通過編寫插件(block,function,modifier)來代替。

smarty默認不開啟php標記,需要在創建smarty對象後做如下設置:

$smarty-php_handling = SMARTY_PHP_ALLOW ;

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/244355.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 13:01
下一篇 2024-12-12 13:01

相關推薦

  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29
  • Python櫻花樹代碼簡單

    本文將對Python櫻花樹代碼進行詳細的闡述和講解,幫助讀者更好地理解該代碼的實現方法。 一、簡介 櫻花樹是一種圖形效果,它的實現方法比較簡單。Python中可以通過turtle這…

    編程 2025-04-28
  • Python大神作品:讓編程變得更加簡單

    Python作為一種高級的解釋性編程語言,一直被廣泛地運用於各個領域,從Web開發、遊戲開發到人工智慧,Python都扮演著重要的角色。Python的代碼簡潔明了,易於閱讀和維護,…

    編程 2025-04-28
  • 用Python實現簡單爬蟲程序

    在當今時代,互聯網上的信息量是爆炸式增長的,其中很多信息可以被利用。對於數據分析、數據挖掘或者其他一些需要大量數據的任務,我們可以使用爬蟲技術從各個網站獲取需要的信息。而Pytho…

    編程 2025-04-28
  • 如何製作一個簡單的換裝遊戲

    本文將從以下幾個方面,為大家介紹如何製作一個簡單的換裝遊戲: 1. 遊戲需求和界面設計 2. 使用HTML、CSS和JavaScript開發遊戲 3. 實現遊戲的基本功能:拖拽交互…

    編程 2025-04-27
  • Guava Limiter——限流器的簡單易用

    本文將從多個維度對Guava Limiter進行詳細闡述,介紹其定義、使用方法、工作原理和案例應用等方面,並給出完整的代碼示例,希望能夠幫助讀者更好地了解和使用該庫。 一、定義 G…

    編程 2025-04-27
  • 2的32次方-1:一個看似簡單卻又複雜的數字

    對於計算機領域的人來說,2的32次方-1(也就是十進位下的4294967295)這個數字並不陌生。它經常被用來表示IPv4地址或者無符號32位整數的最大值。但實際上,這個數字卻包含…

    編程 2025-04-27
  • 製作一個簡單的管理系統的成本及實現

    想要製作一個簡單的管理系統,需要進行技術選型、開發、測試等過程,那麼這個過程會花費多少錢呢?我們將從多個方面來闡述製作一個簡單的管理系統的成本及實現。 一、技術選型 當我們開始思考…

    編程 2025-04-27

發表回復

登錄後才能評論