千锋教育

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1317|回复: 0

[京1707] 一期项目心得--从HTML把遍历中的参数传回PHP

[复制链接]

1

主题

2

帖子

10

积分

千锋学员

Rank: 2

发表于 17-6-3 10:11:57 | 显示全部楼层 |阅读模式
在做一期项目BBS论坛的过程中发现了一个比较有意思的解决方案。 QQ图片20170603095428.png
在首页的遍历中,我的数据库设计是帖子、回复、小板块、大板块都在一个数据表,那拿数据的时候,由于,小版块是在遍历的,中间小板块的ID一直在变,如何拿到每个小版块的回复总数和帖子总数就成了一个问题,最后这个问题我是这么解决的,从HTML中把小版块的自增‘id’传回PHP文件,查属于这个板块的帖子和回复总数,再传回HTML。其具体实现代码为:
  1. {foreach $result1 as $rows}
  2.          {if $rows2['bid']==$rows['sid']}
  3.              <tr>
  4.                     <td><img src="./image/fenban.gif"></td>
  5.                     <td class="fb"><b><a href="postslist.php?bid={$rows['bid']}">{$rows['sname']}</a></b><br />
  6.                      版主:{$rows['bz']}
  7.                      </td>
  8.                       <td colspan="10"></td>
  9.                       <td>{function tz($rows['bid'])}/{function reply($rows['bid'])}</td></font>
  10.                        <td>从未</td>
  11.                        <td colspan="2"></td>
  12.                        <td></td>
  13.                  </tr>
  14.              {/if}
  15.                                 
  16.   {/foreach}
复制代码
(哎,这个代码插入居然不会缩进啊,卧槽卧槽!!!)
相应的PHP代码为:
  1. function tz($bid)
  2. {        
  3.         $link = dbConnect('localhost','root','123456','bbs','utf8');
  4.         $sum = dbSelect($link,'posts','*','id='. $bid .' and title is not null and dis=1');
  5.         $tz = count($sum );
  6.         //var_dump($bid);
  7.         //var_dump($reply);
  8.         //var_dump($sum);
  9.         echo $tz;
  10.         
  11. }
  12. //各个子版块总回复数
  13. function reply($bid)
  14. {        
  15.         $link = dbConnect('localhost','root','123456','bbs','utf8');
  16.         $sum = dbSelect($link,'posts','*','lid='. $bid .' and gid!=0 and dis=1');
  17.         $reply = count($sum );
  18.         
  19.         echo $reply;
  20.         
  21. }
复制代码
这样在遍历时,会随着遍历的次数去调用函数,所以每次都能拿到那个子版块的自增ID,然后去查相应的帖子和回复。当然了,这只是我自己摸索出的一个方法,我甚至不知道可不可以这么用,如果各位小伙伴有更厉害的办法,还请不吝赐教。
(Attention:这么做的前提是你已经修改过你的模板引擎文件,让它碰到{function $a}知道怎么处理,其对应的引擎里正则)
  1. '{function %%}'     => '<?php \1;?>'
复制代码


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

订阅|小黑屋|手机版|千锋教育论坛 ( 京ICP备12003911号-3

GMT+8, 19-7-24 12:28 , Processed in 0.312679 second(s), 45 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表