我建造了一棵家谱。 该表如下所示:
ID ------姓名------母亲------父亲-------孩子
这是人员代码页面的代码:
$ query = mysql_query(“SELECT family.id,family.firstname, mother.firstname AS
mother
,father.firstname ASfather
,kids.firstname ASkids
FROM family
加入家庭AS母亲ON mother.id = family.mother加入家庭AS 父亲父亲.id = family.father加入家庭AS 孩子们在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
母亲姓名:YYYYY
孩子:AAAAAAA
问题是当其中一个字段为空(如果有人没有孩子)时,脚本会停止。我只得到:
名字:
母亲姓名:
孩子们:
任何解决方案?
答案 0 :(得分:0)
如果字段不需要具有值,则应使用LEFT JOIN
而不是JOIN
,但这会导致非常繁重的加载,具体取决于您的数据量。