发新话题
打印

关于两个表的查询输出问题的求救

本主题由 沧蓝 于 2008-4-1 19:07 移动

关于两个表的查询输出问题的求救

案子是个招聘信息模块。用到两个表。

公司表(company)字段如下:
id
companyName(公司名称)

发布的职位信息表(hr)字段如下:
id
cid(外键,公司的id)
position(职位)
date(发布日期)

现在要的效果如下图:


我的代码该怎样写,view部分又该怎么做?谢谢
附件: 您所在的用户组无法下载或查看附件

TOP

你这个和视图关系不大吧?
至于你说的两个表关联,这个可以直接写 SQL 语句,和你之前写PHP没有区别!
也就是使用 join
QQ: 49489680
MSN: zhaochang_tj AT hotmail DOT com

TOP

我的sql为:
SELECT company.id, company.companyname, hr.id, hr.position, hr.date
FROM company
INNER JOIN hr ON company.id = hr.cid;
也查出了结果,我要怎样把它show到web上啊
单表的show简单
<?php foreach($new_company->result() as $row):?>
  <tr>
    <td><a href="c/<?php echo $row->id ?>"><?php echo $row->companyname ?></a></td>
  </tr>
<?php endforeach;?>
但是这里不仅要list出公司名称,还要在公司名称后面list出职位。咋整?

TOP

你就是说不知道怎么取 join 过的表的字段吧?
你直接就可以取字段名,不用管是 company 还是 hr,只要字段名不重复就可以。
你 show 的时候直接 show 字段名就可以。
QQ: 49489680
MSN: zhaochang_tj AT hotmail DOT com

TOP

echo $row->position

TOP

晕,你有两个 ID?那就不知道了,你可以 var_dump 一下看看这个对象的结构。。。。。。
QQ: 49489680
MSN: zhaochang_tj AT hotmail DOT com

TOP

我的取出来的结果类似:
id         companyname         id(hr)         position         date
10        上海地产公司         1         策划         2008-01-15
10        上海地产公司         2         flash美工         2008-01-15
10        上海地产公司         3         经理助理         2008-01-15
4         苏州商场                  4         营业员           2008-01-15
4         苏州商场                  5         仓管         2008-01-15
4         苏州商场                  6         店长           2008-01-16

我在view里怎样嵌套输出,达到预期的效果呢?

[ 本帖最后由 kissmumu 于 2008-1-16 12:29 编辑 ]

TOP

什么是嵌套输出?你现在所有的结果都在结果集对象里了啊!不需要嵌套!和不使用 join 是一样的呀。
QQ: 49489680
MSN: zhaochang_tj AT hotmail DOT com

TOP

按sql查询到的结果,我要的排版是这样的:

上海地产公司(策划,flash美工,经理助理)

苏州商场(营业员,仓管,店长)

TOP

还是没明白。。。。。
大家看看有没有明白的,帮他一下。。。。。
QQ: 49489680
MSN: zhaochang_tj AT hotmail DOT com

TOP

要达到这种效果,一条SQL不够(也许够,但效率肯定非常低)。

分开写。

一条SQL取公司名。每条公司的循环下再用一条SQL取职位。

一个常见的使用SQL的误区就是程序员喜欢使用尽量少或者短的query来获取所有的内容。其实这样是不科学的。sub-query的效率不高。所以还是分开来写即明了又高效。
Fred Wu
thislab.com

TOP

哈哈.不注册看不到图,还得到这儿注册个ID.................

就是要公司发布的职位么?公司和职位是1:N的关系吧?

这个取出来放到一个RS里边还是需要通过程序来处理的.

TOP

引用:
原帖由 沧蓝 于 2008-1-16 20:01 发表
要达到这种效果,一条SQL不够(也许够,但效率肯定非常低)。

分开写。

一条SQL取公司名。每条公司的循环下再用一条SQL取职位。

一个常见的使用SQL的误区就是程序员喜欢使用尽量少或者短的query来获取所有的内容。其实这 ...
php(asp)夹着html的代码可以达到效果,我知道。
但是基于mvc时,不想在v里掺和php代码时,就比较麻烦了。

谢谢大家的回复。告一段落吧。

[ 本帖最后由 kissmumu 于 2008-1-17 08:57 编辑 ]

TOP

这类有循环的数据,view里不可能不参杂php代码的。量之多少而已。:)
Fred Wu
thislab.com

TOP

发新话题