![](/img/trans.png)
[英]How would I generate an HTML form based on table data from two different tables using PHP?
[英]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.