2011-08-10 193 views
0

我正在运行查询并检索用户帖子。表格Posts具有提交帖子的用户名称的列,另一个名为User的表具有用户名和头像列表。交叉表查询

我需要在表Users的'用户'的每个帖子中查找,并且在此表中是否存在匹配回显列“头像”。

$result = mysql_query("SELECT * FROM Posts WHERE MATCH (City) AGAINST ('$city2') ORDER by `Comments` DESC LIMIT $limit_posts OFFSET $first_post"); 

while($row = mysql_fetch_array($result)) { ?> 
<div class='item'> 
    <a href="?city=<?php echo $row['City']; ?>&post=<?php echo $row['PID']; ?>"><?php echo $row['Text']; ?></a> 
<? } 

回答

1
$result = mysql_query(" 
SELECT 
    Posts.*, 
    Users.Avatar 
FROM 
    Posts 
INNER JOIN 
    Users 
ON 
    Users.ID = Posts.User 
WHERE 
    MATCH (Posts.City) AGAINST ('$city2') 
ORDER BY 
    Posts.`Comments` DESC 
LIMIT 
    $limit_posts 
OFFSET 
    $first_post 
"); 

while($row = mysql_fetch_array($result)) { ?> 
<div class='item'> 
    <a href="?city=<?php echo $row['City']; ?>&post=<?php echo $row['PID']; ?>"><?php echo $row['Text']; ?></a> 

<?php echo $row['Avatar']; ?> 
<? } 
0

这仅仅是一个基本的表连接吗?

SELECT USERS.AVATAR, POSTS.TEXT 
FROM USERS INNER JOIN POSTS ON USERS.ID = POSTS.USER 

将返回用户头像和文字后的名单为每个用户