这是我的疑问,
$query=mysql_query("select *
from quiz_grades as grade,
user_info_data as info,
user as user
where user.id=grade.userid
and user.id=info.userid
and grade.quiz=12
and info.fieldid=1
and info.data='AP'
order by data ASC, grade DESC");下表中,
$USER->id是当前登录的用户变量。
如果userid=$USER->id随身物品属于AP,则应显示所有AP。如果userid=$USER->id随身物品属于TL,则应显示所有TL。
info.data存储AP和TL记录。
<table>
<tr>
<th>userid</th>
<th>data</th>
</tr>
<tr>
<td>1</td>
<td>AP</td>
</tr>
<tr>
<td>2</td>
<td>TL</td>
</tr>
<tr>
<td>3</td>
<td>AP</td>
</tr>
<tr>
<td>4</td>
<td>AP</td>
</tr>
<tr>
<td>5</td>
<td>TL</td>
</tr>
<tr>
<td>6</td>
<td>TL</td>
</tr>
<tr>
<td>7</td>
<td>AP</td>
</tr>
<tr>
<td>8</td>
<td>TL</td>
</tr>
<tr>
<td>9</td>
<td>TL</td>
</tr>
<tr>
<td>10</td>
<td>TL</td>
</tr>
</table>
提前谢谢
发布于 2015-06-25 14:09:35
考虑到您的user表中有一个location字段,您应该在查询中也包括这个条件
select grade.* from quiz_grades as grade
join user as user on user.id=grade.userid and grade.quiz=12
join user_info_data as info on user.id=info.userid
where `fieldid`=1
and info.data = 'telengana'
order by data ASC, grade DESC发布于 2015-06-25 14:11:51
假设您有一个要使用的位置字段(locationField):
$query=mysql_query("
SELECT *
FROM quiz_grades AS grade,
user_info_data AS info,
USER AS USER
WHERE USER.id = grade.userid
AND USER.id = info.userid
AND grade.quiz = 12
AND ` fieldid `= 1
AND `location` IN (SELECT location FROM user_info_data WHERE user_info_data.userid = {$USER->id})
ORDER BY data ASC,
grade DESC ");https://stackoverflow.com/questions/31052498
复制相似问题