我有2个表选择字段和另一个表匹配,并返回VALES
类别
categories (cid, year_id, category_title)
用户与
users (uid, year_id, name, rollno, password)
当用户登录自己的rollno和密码我想显示他的类别 选择year_id
在 '类别'
我试图
SELECT * '用户' 和匹配为year_id
FROM类别WHERE(选择year_id =从用户的$一年)
我有2个表选择字段和另一个表匹配,并返回VALES
类别
categories (cid, year_id, category_title)
用户与
users (uid, year_id, name, rollno, password)
当用户登录自己的rollno和密码我想显示他的类别 选择year_id
在 '类别'
我试图
SELECT * '用户' 和匹配为year_id
FROM类别WHERE(选择year_id =从用户的$一年)
使用一个简单连接
SELECT c.* FROM categories c
JOIN users u ON(c.year_id =u.year_id)
WHERE u.year_id='$year'
编辑
SELECT c.*,u.year_id user_year FROM categories c
JOIN users u ON(c.year_id =u.year_id)
WHERE u.uid='$user_id'
如果year_id
对于两者都是相同的,并且您知道从users
表返回的year_id
,则只需在categories
表中使用select中的该值。
SELECT *
FROM `categories`
WHERE `year_id` = '[year_id from users data]'
不需要连接。
UPDATE:
验证用户登录:
SELECT *
FROM `users`
WHERE `rollno` = '[users rollno]'
然后比较从查询到用户提供的密码恢复密码,如果他们匹配,你知道用户是有效的,并且可以使用也被返回以获取类别的year_id
。
这里还有一个问题是如何从用户表抓取year_id登录用户 – Sushant
@Sushant看到我更新的答案 –
如果'$ user_id'实际上是你基于搜索的值,那么JOIN会是规定在这里,这个答案将工作得很好。 – Benjam