作者sing10407 (阿U)
看板PHP
標題[討論] smarty template中的複雜邏輯
時間Mon Jun 4 23:37:32 2012
大家都知道smarty是把邏輯程式碼(php)與視覺樣版(html)分開的一種工具
但我最近在寫一個壘球計分板系統的時候
當在template用mysql_fetch_assoc時
難免會有個欄位是顯示所有的資料
然後我以日期來改變tr的顏色
或是選擇其他種類,例如"投手"時,
又要一個程式邏輯(皆在同一個template上)
但是要寫成另外一個頁面又非常麻煩,
因此smary上的Template因此多了許多程式邏輯
大家會常遇到這樣嗎?
有什麼更好的寫法嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.22.18.56
1F:→ MOONRAKER:That's the art. 06/05 02:36
2F:推 Fantasywind:前台邏輯?那是js的事吧 06/05 06:39
3F:→ kerash:版面不變改個配色的話就用CSS解決吧.. 06/05 09:14
4F:→ kerash:你的type可能會有個key,訂好type的顏色再把css的class取成 06/05 09:15
5F:→ kerash:tableTop_1,_2,_3 ... 這樣,但是這樣一定會維護不易XD 06/05 09:16
6F:→ kerash:=x=, 打完才發現問的好像是兩種狀況 06/05 09:17
7F:→ sing10407:但是要列出表是一定要在前台使用mysql_fetch_assoc這個 06/05 22:28
8F:→ sing10407:函式,然後要再加格列不同顏色的話這種邏輯不是也要php 06/05 22:29
9F:→ sing10407:來完成比較簡單? 06/05 22:29
10F:→ MOONRAKER:你不會連取出資料都在模板內做吧。不管怎麼樣,記得你 06/06 05:25
11F:→ MOONRAKER:裝好送到模板的資料裡面最好不要有html或rough css 06/06 05:26
12F:→ MOONRAKER:可以有一些flag,在模板再依照這些flag來決定 06/06 05:27
13F:→ MOONRAKER:最多可以給到class名字 06/06 05:28
14F:→ sing10407:MOONRAKER您好,但是使用mysql_fetch_assoc這個函式時 06/06 21:28
15F:→ sing10407:取出了很多筆資料,不是就要在模版裡面放製這餓個函式了 06/06 21:29
16F:→ sing10407:嗎? 06/06 21:30
17F:→ MOONRAKER:當然是取出放進陣列再傳給模板 你模板到底怎樣用的 06/07 05:00
18F:→ sing10407:我知道可以取出陣列放進模版,但不是僅限一筆資料嗎? 06/07 14:32
19F:→ sing10407:如果有多筆資料要如何在php檔裡面實做呢? 06/07 14:33
20F:→ MOONRAKER:只能放一筆資料 你那是什麼陣列?你會用while()吧? 06/07 14:58
21F:→ sing10407:我會用while;例如取出:XX、電話、住址,但一次的sql 06/07 16:40
22F:→ sing10407:不是可能會取出很多人?但while的陣列不是只能存一個人的 06/07 16:41
23F:→ sing10407:如果一次從資料庫撈出很多人,不是就要在模板裡面放置 06/07 16:43
24F:→ sing10407:while嗎? 請問如何在php檔裡就做完這些事呢? 06/07 16:43
25F:→ sing10407:煩請MOONRAKER幫忙解答,謝謝! 06/07 16:44
26F:→ MOONRAKER:我放棄了。你去看別人的SMARTY網站都怎樣寫的,不然沒救 06/07 20:49