[急問]PHP+MySQL+Smarty 輸出問題
對不起,實在想不到一個簡短就能描述我的問題的標題
還請版上高手們能給我一點指引
小弟現在使用Smarty作為樣板引擎,小弟現在想要做的事情闡述如下
我的MySql資料庫中有三個資料表,用彼此的ID作為階層關係如下
project資料表中 有project_no project_name
category資料表中 有 category_no category_name和指向所屬project的project_no
items資料表中 有items_no items_name和指向所屬category的category_no
用這樣的資料庫設定方法很笨我知道@@" 可小弟還是php的新手
暫時對於太高深的做法還不太懂,如果有大大願意指點當然是最好XD
因為很多地方會需要將這些東西全部list出來,因此小弟將他們包裝成一個class
並指定了一個getlist方法
class程式碼如下
class OutputList {
var $ouput_list = array();
function OutputList (&$db) {
$sql = "select * from project left join category on ".
"project.project_no = category.project_no left join items on ".
"category.category_no = items.category_no order by ".
"project.project_no,category.category_no,items.items_no";
$this->ouput_list = &$db->getAll($sql);
}
function getList(){
return $this->ouput_list;
}
}
然後在需要使用的php程式中new出,並指定樣板
//===============================================
// 取得output列表
//===============================================
$output_list_object = new OutputList($db);
$ouput_list = &$output_list_object->getList();
if (DB::isError($output_list_object))
{
header("Content-Type: text/plain; charset=utf-8");
die ($output_list_object->getMessage());
}
//===============================================
// 樣板處理
//===============================================
$smarty = new Template();
$smarty->assign('output_list', $output_list);
//===============================================
// 顯示頁面
//===============================================
$smarty->assign(
'content_file',
'output_list.tpl.htm'
);
$smarty->display('main.tpl.htm');
而樣板output_list.tpl.htm中,輸出的部分如下
{section name="sec1" loop=$output_list}
<tr>
<td width="10%" align="right">{$smarty.section.sec1.iteration}</td>
<td>{$output_list[sec1].project_name}</td>
<td>{$output_list[sec1].category_name}</td>
<td>{$output_list[sec1].items_name}</td>
</tr>
問題來了,這樣的方法很笨我知道@@" 輸出的表格會變成三個階層都顯示
就像是items也會顯示前面的project跟categary
所以我的第一個問題是,可否在不要用到js、jquery之類的動態技術
就可以顯示這筆資料的最後一個階層,如果這筆資料只有到category,
那麼就顯示category就好,不用顯示他的project
簡單來說就是我希望這表格看起來比較有階層關係@@"
第二個問題是,我希望在這表格後方加上一個checkbox
可以讓使用者複選category和items後,將所選的category或是items的no值傳出
但這checkbox僅有category和items才有,project沒有
在Smarty中我知道有HTML_checkboxes可以使用
但我實在沒有一個概念要怎麼樣用出我想要的顯示
以上兩個問題寫的落落長,還請版上高手不吝指教@@" 小弟銘感五內
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.241.249.107
→
03/14 00:00, , 1F
03/14 00:00, 1F
→
03/14 14:10, , 2F
03/14 14:10, 2F
推
03/14 22:55, , 3F
03/14 22:55, 3F
→
03/14 23:35, , 4F
03/14 23:35, 4F
→
03/14 23:35, , 5F
03/14 23:35, 5F
→
03/14 23:36, , 6F
03/14 23:36, 6F
→
03/14 23:36, , 7F
03/14 23:36, 7F
→
03/14 23:36, , 8F
03/14 23:36, 8F
→
03/14 23:37, , 9F
03/14 23:37, 9F
→
03/14 23:37, , 10F
03/14 23:37, 10F
→
03/14 23:38, , 11F
03/14 23:38, 11F
→
03/14 23:38, , 12F
03/14 23:38, 12F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章