1
kojp OP 给个思路,谢谢.
我的尴尬是...在循环里面....如果每篇文章都要求有类别名称,我就实现了(一开始就是这样的要求,后来要求改这那个见鬼的要求).... 我现在的思路只能是,根据每个分类的文章的篇数来决定神马时候出现分类名称...这样太复杂太难实现太累了都~~~~ 对了程序是用PHP的. |
2
kojp OP 和..SMARTY模板的....
|
3
reus 2011-06-13 17:53:44 +08:00
$showed_category = array();
foreach xxxx { if (!in_array($category_name, $showed_category)) { echo $category_name, xxxxxxxxx; $showed_category[] = $category_name; } } 是这个意思么? = = |
4
reus 2011-06-13 17:54:34 +08:00
else {
echo xxxxx; } |
5
darasion 2011-06-13 17:55:29 +08:00
楼主颠三倒四的说话,晕了,我都,让我。...
|
6
killall 2011-06-13 17:56:55 +08:00
嗯,我承认我也晕了,而且是极晕
|
8
reus 2011-06-13 18:00:46 +08:00
就是把输出过的类别都记录下来
如果已经输出过了,就不输出了,否则就输出 这样就可以实现,只在第一个输出了 |
9
kojp OP 你明白了我....我也明白了你....
但是这个条件很难实现呀...!in_array($category_name, $showed_category) |
10
kojp OP [QUOTE]就是把输出过的类别都记录下来
如果已经输出过了,就不输出了,否则就输出 这样就可以实现,只在第一个输出了[/QUOTE] 明白..那我先前是误读了你的代码了..呵呵.我试试..这个思路很好~~~~谢谢. |
11
reus 2011-06-13 18:05:19 +08:00
in_array就是个函数……判断一个元素在不在一个数组里面
你不是说类别名字可以从数据库得到么…… 哪里难实现了…… |
12
CoX 2011-06-13 18:13:27 +08:00
这要求很正常吧,就是分类显示文章主题吧
|
13
kojp OP 按REUS的方法在PHP里面的确是实现了...谢谢.
现在还得...跟万恶的SMARTY结合起来~~~~~ |
15
CoX 2011-06-13 18:27:23 +08:00
最笨的方法,就是多查几次数据库,每个分类查一次数据库。
聪明一点的方法,查询的结果按分类排序,用一个临时变量保存当前分类;判断当前主题分类和临时变量保存数据是否一致,一致就忽略,不一致就输出,并保存新分类到临时变量。 |
16
holystrike 2011-06-13 19:06:39 +08:00 via iPhone
完整的需求还需要比较数组下一个元素的分类
|
17
reus 2011-06-13 19:39:27 +08:00
据说Twig比smarty好
|
18
kojp OP 好吧...谢谢各位.
折腾一两个小时终于搞定~~~~其中遇到一个数组排序的问题,没弄明白....后来就直接绕行了..估计跟某个函数有关.......帖上代码也许你们看得累.....不好意思 |
19
kojp OP [code]
$showed_category = array(); while($re1r = $db->getarray($re1s)) { $lid = $re1r['lid']; $lsre2s = $db->query("select * from {$prefix}_mag_ls where id='$lid'"); $lsre2r = $db->getarray($lsre2s); $re1r['lname'] = $lsre2r['cn_title']; $re1r['vol']=$vol; if(!in_array($lid,$showed_category)){ //echo $lid; $re1r['dddname']=1848; $showed_category[]=$lid; }else{ //echo 'ccc'; $re1r['dddname']=0; } $mag_list_array[] = smarrayall($re1r); } [/code] 还是用的reus的思路....其实就是求一个标志位....用SMARTY根据那个标志位为决定显示分类名称还是不显示. 下面是前台页面. [code] <div> <!--{section name=loop loop=$mag_list}--> <!--{if $mag_list[loop].dddname==1848}--><div id="mag_list_l_name">¡ù<b><!--{$mag_list[loop].lname}--></b>¡ù</div><!--{/if}--> <div class="mag_list"> <dt><!--{$mag_list[loop].art_author}--></dt> <dt><!--{$mag_list[loop].art_name}--></dt> <dd><!--{$mag_list[loop].vol}--> <!--{$mag_list[loop].art_page}--></dd> ..................... </div> [/code] [/code] |
20
kojp OP 谢谢亲们哦~~~~~~
见笑了,基本工不扎实,搞稍微大一点的项目就会累得半死~~~~~看来,还得继续加强基本工的练习~~尤其是逻辑方面的. |
21
CoX 2011-06-13 20:50:18 +08:00
排序就是查询的时候 order by 一下就行了
|