从最多3个不同的表{PD}请求PDO中的数据

时间:2016-10-30 16:14:47

标签: php mysql pdo

我想做什么?

我正在尝试在我的网络应用程序的仪表板页面上显示发票数据。我遇到的一个小路障是显示基于整数的数据。例如;

Invoice 1 -> Bill User 1

我想要实现的是为分配了发票的用户或公司提供的整数显示其名称,例如;

BillContact->1 (becomes) BillContact->John Smith 

以下是来自PDO的PHP数据的当前输出 enter image description here

如果我使用的是旧式MySQL,我会编写二级查询,但我知道这在PDO中并不需要,因为你只能使用UNION或JOIN,问题是我不熟悉PDO或UNION / JOIN函数,并希望使用此问题作为一种方式来了解它们如何工作并在我的代码中使用它们以用于将来的数据库查询。

如您所见,联系人已收到已分配的值,我希望将其替换为同一数据库中“联系人”表中的联系人姓名。

这是我的PDO代码,用于提取当前数据。

$database->query('SELECT * FROM invoices LIMIT 10');
$rows = $database->resultset();

echo ... table html here

foreach($rows as $row)
                    {
                    ... td html here
                    }

echo ...

以下是我希望从Contacts / Companies表中提取的值,具体取决于传递的id。

contacts           companies
.firstname         .companyname       
.lastname

enter image description here

提前致谢。

1 个答案:

答案 0 :(得分:0)

这是一个简单的联接来解决您的问题。

try
{
$s = $conn->prepare("SELECT inv.*,c.* from invoices inv, contacts c where inv.contact_billed = c.id");
$s->execute();
}
catch(PDOException $e)
{
echo $e->getMessage();
}