设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
CodeIgniter 开发
›
CodeIgniter 问答求助
›
怎样在V层循环再循环?
1
2
/ 2 页
下一页
返回列表
查看:
5276
|
回复:
11
[已解决]
怎样在V层循环再循环?
[复制链接]
mrcml945
mrcml945
当前离线
积分
14
IP卡
狗仔卡
发表于 2009-4-24 00:05:26
|
显示全部楼层
|
阅读模式
本帖最后由 mrcml945 于 2009-4-24 08:20 编辑
如
类别1:
三国志
版块:
魏
蜀
吴
类别2:
信长野望
版块:
织田家
武田家
德川家
如果要用MVC模式做个循环,按上面的格式输出出来,怎么输出?因为算出来的类id: 如$row->id 是在V层得出的 那怎么把V层的$row->id传到下一层子循环呢? 我想了3个小时都没写出来 各位大大 教教小弟 不胜感激
在V层里通过循环能循环出 类别,但是该类别下的版块...我怎么也循环不出来
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
yuwen002
yuwen002
当前离线
积分
172
IP卡
狗仔卡
发表于 2009-4-24 08:49:51
|
显示全部楼层
都抓到二给数组中就可以了。
建议,把这个过程放在控制器中实现。
回复
支持
反对
使用道具
举报
显身卡
Hex
Hex
当前离线
积分
50165
IP卡
狗仔卡
发表于 2009-4-24 10:13:20
|
显示全部楼层
我想问一下楼主,如果用纯 PHP,你怎么实现?
回复
支持
反对
使用道具
举报
显身卡
mrcml945
mrcml945
当前离线
积分
14
IP卡
狗仔卡
楼主
|
发表于 2009-4-24 11:24:18
|
显示全部楼层
纯PHP很好实现啊
比如
$sql="select * from sanguo";
$res=mysql_query($sql);
echo "<table>";
while($Catrow=mysql_fetch_assoc($res))
{
echo "<tr>";
echo "<td>".$Catrow['name']."</td>";
echo "</tr>";
$sql2="select * from inCat where cat_id=".$Catrow['id'];
$res2=mysql_query($sql2);
$num2=mysql_num_rows($res2);
if($num2==0)
{
echo "<tr><td>类里没有子类</td></tr>";
}
else
{
while($inCatrow=mysql_fetch_assoc($res2))
{
echo "<tr><td>";
echo $inCatrow['inCatname'];
echo "</td></tr>";
}
}
}
echo "</table>";
回复
支持
反对
使用道具
举报
显身卡
mrcml945
mrcml945
当前离线
积分
14
IP卡
狗仔卡
楼主
|
发表于 2009-4-24 11:26:18
|
显示全部楼层
怎么在控制器里实现?
我在view里实现了 嵌套子循环
如:
<table align="center" width="978" border="1" align="left" cellpadding="1" cellspacing="1">
<?php foreach($category as $row): ?>
<tr>
<td align="left"><strong><?php echo $row->category; ?></strong></td>
</tr>
<?php foreach($forum as $row2):
if($row->id==$row2->cat_id): ?>
<tr><td align="left"><a href="<?php echo site_url('luntan/forum')."/".$row2->id ?>"><?php echo $row2->name; ?></a><br /><?php echo $row2->description; ?></td></tr>
<?php endif;
endforeach; ?>
<tr><td height="20px"></td></tr>
<?php endforeach; ?>
</table>
但是控制器里要怎么实现?大大教我!
回复
支持
反对
使用道具
举报
显身卡
Hex
Hex
当前离线
积分
50165
IP卡
狗仔卡
发表于 2009-4-24 12:08:33
|
显示全部楼层
我没看出来 CI 和 PHP 有什么区别,都是一样的循环。
循环请求数据库,现在也是循环请求数据库,然后把数据放到数组里,你之前是直接输出。
没什么区别,还是要用发散思维。
回复
支持
反对
使用道具
举报
显身卡
mrcml945
mrcml945
当前离线
积分
14
IP卡
狗仔卡
楼主
|
发表于 2009-4-24 12:10:10
|
显示全部楼层
Hex大大,那你写个小片断出来 给我看下啊 不然我想到100岁都想不出
回复
支持
反对
使用道具
举报
显身卡
gdtv
gdtv
当前离线
积分
49
IP卡
狗仔卡
发表于 2009-4-24 13:55:55
|
显示全部楼层
我没看出来 CI 和 PHP 有什么区别
Hex 发表于 2009-4-24 12:08
我太赞同你这几话,CI和PHP就是没什么区别,而其他的PHP框架和PHP区别就大了,学其他PHP框架,相当于又学了一门新语言。
回复
支持
反对
使用道具
举报
显身卡
Hex
Hex
当前离线
积分
50165
IP卡
狗仔卡
发表于 2009-4-24 14:17:11
|
显示全部楼层
你需要构建一个具备所有数据的二维数组。
在查询数据库的时候,不要 echo,而是存到数组中,也就是在根类别的一个项目中加上子类别的内容,形如
array('根类别1' => array('此类别的信息' => 'xxxx', '子类数组' => array(.........)),
'根类别2' => array('此类别的信息' => 'xxxx', '子类数组' => array(.........)),
...
);
我认为构建上面这样的数组是编程基本功。
回复
支持
反对
使用道具
举报
显身卡
seven2
seven2
当前离线
积分
125
IP卡
狗仔卡
发表于 2009-4-25 11:39:34
|
显示全部楼层
数组是编程基本功,数组也很常用吧。
回复
支持
反对
使用道具
举报
显身卡
下一页 »
1
2
/ 2 页
下一页
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页