PHP 板


LINE

看板 PHP  RSS
对不起,实在想不到一个简短就能描述我的问题的标题 还请版上高手们能给我一点指引 小弟现在使用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
1F:→ tkdmaf:我的规则是:除宣告动作、属性,建构式内不写任何程式。 03/14 00:00
2F:→ catjimmy:可以问一下这样有甚麽好处吗? 结构性? 03/14 14:10
3F:推 walilecow:这个程式看起来只做读取资料...不用class应该也可以吧 03/14 22:55
4F:→ tkdmaf:建构式为物件实体化时会预先处理的方法。 03/14 23:35
5F:→ tkdmaf:所以一般而言,主要就是用於初始化或预载入功能。 03/14 23:35
6F:→ tkdmaf:你不一定一只物件会预载入多少方法。 03/14 23:36
7F:→ tkdmaf:在单一职责中,每个方法都会是一个独立功能的个体。 03/14 23:36
8F:→ tkdmaf:而建构式则只是选择你想预载入那些个体执行或宣告属性。 03/14 23:36
9F:→ tkdmaf:一但你因为某些因素需要修改预载方法时才不会被一堆程式码 03/14 23:37
10F:→ tkdmaf:弄得不知改如何去改。 03/14 23:37
11F:→ tkdmaf:另外一点就是如果善用继承後覆盖父类别建构式时...... 03/14 23:38
12F:→ tkdmaf:自己的建构式要载入方法就比较容易处理。 03/14 23:38







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP