Php 在一个数据库中合并两个表
我制作了这个员工信息系统,员工可以在这里给出自己的反馈。下面是它的样子: 当您单击“员工反馈”按钮时,它会将您重定向到此页面: 现在我的数据库中有两个表,即employee和tbl_反馈: 问题在于不同的ID。如何将两者合并 对于employee表: 对于tbl_反馈: 我希望当用户点击“员工反馈”时,全名自动显示出来。我认为只有合并这两个表才有可能Php 在一个数据库中合并两个表,php,html,mysql,sql,phpmyadmin,Php,Html,Mysql,Sql,Phpmyadmin,我制作了这个员工信息系统,员工可以在这里给出自己的反馈。下面是它的样子: 当您单击“员工反馈”按钮时,它会将您重定向到此页面: 现在我的数据库中有两个表,即employee和tbl_反馈: 问题在于不同的ID。如何将两者合并 对于employee表: 对于tbl_反馈: 我希望当用户点击“员工反馈”时,全名自动显示出来。我认为只有合并这两个表才有可能 我不知道你们需要什么源代码,但只要告诉我,我会提供。非常感谢你 请看一下@Pete的好建议,因为这将帮助我们帮助您 以下只是关于如何使用
我不知道你们需要什么源代码,但只要告诉我,我会提供。非常感谢你 请看一下@Pete的好建议,因为这将帮助我们帮助您 以下只是关于如何使用主键和外键链接表的提示:
create table employee
(
id integer,
fullname varchar(64),
username varchar(32),
email varchar(128),
address varchar(512),
contact varchar(16),
gender varchar(16),
password varchar(32),
constraint primary_key_employee primary key (id)
);
create table feedback
(
id integer,
employee_id integer,
website varchar(128),
message varchar(2048),
constraint primary_key_feedback primary key (id),
constraint foreign_key_feedback_employee foreign key (employee_id) references employee (id)
);
select
a.fullname,
a.email,
b.website,
b.message
from
employee a
join
feedback b
on a.id = b.employee_id;
在您的表中有许多可以改进的地方(例如,没有明确的密码)。这并不是故意的,你显然是在做一个开始,考虑你需要什么,这很好。我建议您花一点时间来理解SQL数据库是如何工作的。这里有一个免费的资源。我已经尝试过提供你可以找到的实用解释,还有很多其他资源
我希望一切顺利。欢迎来到SO。请带我去参观一下。如果您不提供任何代码,我们无法为您提供帮助-请查看如何创建一个表,如果员工永远只能发表一条反馈意见,那么您只需要一个表。但这听起来不现实。您可能希望反馈表根据员工的唯一ID与员工表建立外键关系。这样,员工可以随时间留下大量反馈,并且您可以轻松地将其与员工关联。这是正常的关系数据库设计,我建议您阅读一下,我想您还没有理解这个概念。@ADyson这正是我想要实现的,但如何将对象从一个表组合到另一个表?首先,您自己决定,您希望将逻辑写入何处,存储过程还是服务器端程序?为了回答您的问题,两个表中都需要一些共同点,以便您可以合并它。我想你可以使用Email字段。同时,你的表结构并没有特别阻止你在屏幕上显示员工的姓名(注意显示,他们不需要重新键入,甚至作为表单的一部分,应该是只读的)。您只需将员工ID传递到反馈页面的查询字符串,并使用该ID从数据库中获取正确的员工记录,然后使用来自该记录的名称。然后,您还可以在隐藏字段中使用该ID将表单中的记录与正确的员工相关联——在提交表单时,您将获得该ID。