我目前正在通过Joomla创建一个网站(创建一个模块),这是一个仅限会员的网站。 当会员登录时,我希望他们能够看到他们的观点(想想它就像航空公司传单点网站一样),这些点是独一无二的。我已将这些点存储在数据库的表中。
我有两张桌子:
#__users
(基本用户表)
#__smiles_users
(这会存储用户名,积分等)
两个表都有一个相似的列,这是“用户名”。
我认为在MYSQL查询中这样做是明智的。
连接到MYSQL
找出通过#__users登录的用户名
在#__smiles_users表中找到匹配的用户名
回显特定行中的结果(包含正确的用户名)
我已连接到MYSQL,回显结果,但我必须指定WHERE函数。
答案 0 :(得分:0)
有两种主要方法可以实现这一目标:
您可以为每个表执行两个单独的查询,并通过PHP
关联数组将它们连接起来:
SELECT * FROM `__users` WHERE `username` = ?
并将结果存储到var:
$user = $result->fetch();
然后对此类用户的剩余数据进行第二次查询:
SELECT * FROM `__simles_users` WHERE `username` = ?
以编程方式加入数据:
$user_smiles_data = $result->fetch();
foreach($user_smiles_data as $key => $value) {
$user[$key] = $value;
}
如果您不想执行两个不同的查询,请执行以下操作:
SELECT * FROM `__users`
INNER JOIN `__smiles_users`
ON `__users`.`username` = `__smiles_users`.`username`
这会在查询时按username
字段合并两个表。结果将包括同一行username
的单行上两个表的所有字段。
答案 1 :(得分:-1)
您可能希望从一个表到另一个表创建外键。
例如在SQL中:
ALTER TABLE #__smiles_users
ADD FOREIGN KEY (username)
REFERENCES #__users(username)
这将创建从一个表到另一个表的链接,以确保数据的完整性。