用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1657|回复: 2
收起左侧

[HELP] 请教一下 一个循环方面的问题

[复制链接]
发表于 2013-3-26 10:25:36 | 显示全部楼层 |阅读模式
本帖最后由 smallhe 于 2013-3-26 10:28 编辑

urls 表[td]
id 编号gid 分类idtitle 网站名

  1                                                   1                                                               百度
  2                                                   1                                                               新浪


category表
[td]
gid 编号type 分类名称group 类别分组
1                                             新闻类                                                               1
2                                             地方类                                                                2


用join链接两张表后,要体现如下这样的结构,应该如何对数组进行拼装?

新闻类   百度  新浪  。。。

但现实中 我用双重foreach循环后结果是下面这样。

新闻类 百度
新闻类 新浪


foreach ($data as $v){
    foreach($v as $k){
        echo $k;
  }
}

应该如何拼装呢?谢谢各位


 楼主| 发表于 2013-3-26 11:44:42 | 显示全部楼层
没人帮顶?!
发表于 2013-6-28 17:26:30 | 显示全部楼层
$sql = "SELECT category.type AS typename,urls.title FROM category LEFT JOIN urls ON urls.gid=category.gid";
                $result = $this->db->query($sql)->result_array();
                $data = array();
                foreach ($result as $list){
                        $data[$list['gid']][] = $list['title'];
                }
                $data的格式:键名是gid,即能区分是新闻类还是地方类
                array(
                        1=>array('新浪','百度'),//1代表新闻类
                        2=>array('网易','搜狐')//2代表地方类
                        .
                        .
                        .
                )
                再根据你要的方式打印那样的格式:

本版积分规则