PHP:如何使用条件预测foreach?

时间:2015-09-04 16:41:26

标签: php mysql


我有两个MySQL表,都通过MySQL JOIN连接:

TableA:
hom_id  con_id
3       4
5       3

TableB:
hom_id  con_id  hp_id
3       4       1
3       4       2

我的伪PHP代码:

foreach ($hom as $h) //from TableA
    echo $h->con_id
---myidea---    
        foreach ($pro as $p) //from TableB
            echo $p->hp_id
        endforeach
---END---
endforeach

我得到的HTML结果是:

Result HTML Table:
con_id      hp_id
3           1 2
4           1 2

我想要的是:

result HTML:
con_id      hp_id
3           
4           1 2

我很确定,它只需要修改几行PHP代码。 但我无法看到答案,请给我一个如何改变它的提示。 感谢

3 个答案:

答案 0 :(得分:2)

猜猜一个简单的问题是否可以解决你的问题,如果我做对了。

{{1}}

或者,也许您应该使用LEFT JOIN

在SQL查询中处理它

答案 1 :(得分:2)

您可以使用以下sql语句:

select a.con_id,group_concat(b.hp_id SEPARATOR " ") as hp_id
from tableA a
left join tableB b on(a.hom_id=b.hom_id and a.con_id=b.con_id)
group by a.hom_id,a.con_id

它将根据您的要求给出结果。

答案 2 :(得分:1)

为什么不尝试更改查询?

SELECT A.con_id, B.hp_id
FROM A
LEFT JOIN B ON(A.con_id = B.con_id)

做一个简单的foreach

foreach($result as $res)
{
    echo $res->con_id, $res->hp_id
}