我有一张供用户使用的桌子。但是当用户对其个人资料进行任何更改时,我会将它们存储在临时表中,直到我批准它们为止。然后将数据复制到实时表并从临时表中删除。
我想要实现的是,当在管理面板中查看数据时,或者在用户可以在提交前仔细检查的页面中,我想编写一个查询,允许我从两个表中获取数据,其中 id两者都等于 $userid。然后我想向他们显示一个表格,其中旧值出现在左列中,新值出现在右列中。
我找到了一些 sql 解决方案,但我不确定如何在 php 中使用它们来回显结果,因为两者中的列具有相同的名称。
添加AS到列名将允许您将其别名为不同的名称。
SELECT table1.name AS name1, table2.name AS name2, ...
FROM table1
INNER JOIN table2
ON ...
这是您需要的查询。假设您在两个表中有例如名称字段。表一登录和表二信息。现在
SELECT login.name as LoginName , information.name InofName
FROM login left join information on information.user_id = login.id
现在您可以在任何需要LoginName的InofName地方使用。
如果您使用 AS SQL 关键字,则可以仅为该查询的结果重命名列。
SELECT
`member.uid`,
`member.column` AS `oldvalue`,
`edit.column` AS `newvalue`
FROM member, edit
WHERE
`member.uid` = $userId AND
`edit.uid` = $userId;
这些方面的东西应该适合你。虽然 SQL 不是我的强项,但我很确定这个查询不会按原样工作,即使在具有正确字段和值的表上也是如此。
使用 MySQL JOIN。您可以在一个 mysql 查询中从 2 个表中获取所有数据。
SELECT * FROM `table1`
JOIN `table2` ON `table1`.`userid` = `table2`.`userid`
WHERE `table1`.`userid` = 1