0

我建立了一个家谱。该表如下所示:

id-----firstname------母亲------父亲-----孩子

这是人员详细信息页面的代码:

$query = mysql_query(" 选择family.id,family.firstname,mother.firstname AS mother,father.firstname AS father,kids.firstname ASkids

来自家庭

加入家庭作为母亲 on mother.id = family.mother 加入家庭作为父亲 onfather.id = family.father 加入家庭作为孩子 on kids.id = family.kids

WHERE family.id=".$_GET['id']

$row = mysql_fetch_array($query,) 或 die(mysql_error());

          echo "First Name: ".$row['firstname']."<BR>";
          echo "Mother Name: ".$row['mother']."<BR>"; 
          echo "Father Name:  ".$row['father']."<BR>"; 
          echo "Kids: ".$row['kids']."<BR>";
          echo "<BR>";

结果是:
名字:XXXXX
母亲姓名:YYYYYY
孩子:AAAAAAA

问题是当其中一个字段为空时(如果有人没有孩子),脚本会停止。我只得到:

名字:
母亲姓名:
孩子:

有什么解决办法吗?

4

1 回答 1

0

如果字段不需要具有值,则应使用LEFT JOIN而不是,JOIN尽管这可能会导致负载非常重,具体取决于您的数据量。

于 2012-10-12T11:40:24.157 回答