ThinkPHP关于多表查询

数据库表的结构

分类表:tb_classify

cid分类id
c_name分类名称
add_time添加时间

站点表:tb_website

wid站点id
web_name站点名称
url站点url
cid分类id
add_time添加时间
方法一:构建数组式输出(建议使用):

IndexController.class.php 控制器

          public function index(){

                  $Classify=M("Classify");

                 $Website=M("Website");

                $classifyInfo=$Classify->select();

                $i=0;

               foreach($classifyInfo as $value){

                         $condition['cid']=$value['cid'];

                         $websiteInfo=$Website->where($condition)->select();

                         $arr[$i]['classify']=$value['c_name'];

                         $arr[$i]['info']=$websiteInfo;

                         $i++;

                }

               $this->assign("arr",$arr);

               $this->display("index");

}

Index.html 模块页(首页)

       <ul>

           <volist name="arr" id="vo">

          <li>{$vo.classify}:    //分类名称

                <volist name="vo.info" id="v">

                           <a href="{$v.url}" target="_blank">{$v.web_name}</a> 

              </volist>

          </li>

         </volist>

     </ul>

方法二:直接在模块中输出(不建议使用):

IndexController.class.php 控制器

        public function index(){

               $Classify=M("Classify");

               $Website=M("Website");

               $info=$Classify->select();

              $result=$Website->select();

             $this->assign("info",$info);

             $this->assign("result",$result);

             $this->assign("arr",$arr);

             $this->display("index");

}

Index.html 模块页(首页)

      <ul>

             <foreach name="info" item="vo">

                  <li>{$vo.c_name}:

                        <foreach name="result" item="list">

                        <if condition="($vo['cid'] eq $list['cid'])"> //筛选符合当前遍历条件的值 eq:thinkphp中等于的意思 http://doc.thinkphp.cn/manual/compare.html

                                   <a href="{$list.url}" target="_blank">{$list.web_name}</a> 

                       </if>

               </foreach>

               </li>

     </foreach>

   </ul>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值