运行While循环并在输出数据之前检查另一个表的变量

时间:2013-04-03 22:47:46

标签: php while-loop

我有一段时间的陈述。它遍历我的“客户”表并输出数据。

while($row = mysql_fetch_array($result))
        {
echo ".$row['category_id'].<br>
.$row['name'].<br>
.$row['address'].<br>
.$row['status'].<br>"

}

这一切都很好。
我遇到的问题是“category_id”存储为“customer”表中的数字,不同的类别以其唯一编号和相关的书面名称存储在单独的“类别”表中。

例如客户表有, 类别ID - 150 名称 - Stackoverflow 地址 - 123 Main Street 状态 - 活动

例如类别表有 id - 150 名称 - 留言板

当我运行while循环输出客户数据时,我需要查询类别表以获取并显示与category_id相关联的“名称”。

我在while循环中想到了一个while循环,你们觉得怎么样?我很感激帮助。

1 个答案:

答案 0 :(得分:0)

您需要进行MySQL加入并立即获取所有信息:http://www.tizag.com/mysqlTutorial/mysqljoins.php

您的查询将如下所示:

SELECT
    c.name,
    c.address,
    c.status,
    ca.name as category_name
FROM
    customer c
JOIN
    category ca
ON
    ca.id = c.category_id

你的PHP看起来像:

while($row = mysql_fetch_array($result)) {
    echo "$row[category_name]<br>
          $row[name]<br>
          $row[address]<br>
          $row['status']<br>";
}