繁体   English   中英

PHP / HTML使用两个表并获取要在html表中使用的名称

[英]PHP / HTML using two tables and get name to use in html table

我有一个小问题,现在我正在制作一个小票系统。

我有一个表,其中显示与该用户相关的可用故障单。

示例:用户Nick有3张票证,它会像这样显示。

+-----------+------------+---------+
| Ticket ID | Created by | Comment |
+-----------+------------+---------+
|     2     |     4      |  Text   | <- Ticket 1
+-----------+------------+---------+
|     3     |     2      |  Text   | <- Ticket 2
+-----------+------------+---------+
|     5     |     3      |  Text   | <- Ticket 3
+-----------+------------+---------+

现在,我在“创建者”列中只有用户名,但我希望改为显示用户名。

我有两个数据库表,所有用户都保存在表1中,票证也保存在表2中,现在我需要查询以获取用户ID 4,2,3的用户名,以在HTML表中显示用户名,但是我不知道不知道该怎么做。

我当前的查询如下所示:

$pdo->query("BEGIN");
$t = ("SELECT * FROM ticket WHERE uid='$param'");
$pdo->query("COMMIT");

为了将“ uid”移出飞机,我用uid获得了与该玩家相关的门票。

//编辑

那不完全是我要搜索的内容,也许我解释了一些错误。

这是我的票表: 票表

第一行:票证ID第二行:UID标识为票证创建的用户。第三行:创建票证的用户的ID。

现在我有用户表: 用户表

第一行:标识用户第三行:是用户名

现在我有一个html表(这只是表的一小部分): HTML表

第一行:用户创建该票证的用户ID第二行:票证ID

现在,它显示为UID 76561198073236987创建的所有票证,而不是仅显示创建票证的用户的ID,而是要显示用户名。

使用SQL关节。 见下面的查询

"SELECT * FROM ticket
LEFT JOIN user ON user.uid= ticket.uid WHERE ticket.uid='$param'";

这将返回用户详细信息以及票证详细信息。
用户可用或不可用,都将收到票证详细信息
有关左联接的更多信息: https : //www.w3schools.com/sql/sql_join_left.asp

如果只需要具有用户详细信息的票证,则可以使用“内部加入”或“加入”。 见下面的查询

"SELECT * FROM ticket
    INNER JOIN user ON user.uid= ticket.uid WHERE ticket.uid='$param'";

这将返回用户详细信息以及票证详细信息。
如果用户不可用,将不会收到机票详细信息
有关内部加入的更多信息: https : //www.w3schools.com/sql/sql_join_inner.asp

我通过以下查询自行解决了此问题。

SELECT ticket.*, users.benutzername FROM ticket INNER JOIN users ON ticket.created_by=users.id WHERE uid='$param'

在此示例中,我将所有结果替换为“ *”,以缩短查询时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM