从2个表mysql中选择数据

时间:2017-01-14 22:08:58

标签: php mysql

我是堆栈溢出的新手。我有一个问题,请帮助我,如果有人知道....我在我的网络应用程序中建立一个跟随系统,用户可以跟随他人,然后他可以看到他的时间线上的更新。我有2张桌子

|     tbl_follow           |
|---------------------------
| id | follow | follow_by  |
| 01 | joe    | mark       |
----------------------------

第二个表是:

|       timeline_tbl           |
|-------------------------------
| id | staus        | username |
| 01 | demo text    | joe      |
| 01 | demo text    | adem     |
--------------------------------

现在假设登录用户是"标记"。所以马克只能看到"乔"他的时间表上的状态因为他跟着他(见tbl_follow)" 有人可以帮助我......并提前感谢您的时间,并抱歉我的英语不好

目前我使用此代码

$sql = ("select * from tbl_follow where username = 'mark' ");
while($rows=mysql_fetch_assoc($sql))
{
    $follow=$rows["follow"];
$asql = ("select * from timeline where username = '$follow' ");
$get = mysql_fetch_assoc($asql);
$status = $get['status'];
echo $status "<br>";
}

2 个答案:

答案 0 :(得分:0)

试试这个:

$sql = "select timeline_tbl.* from tbl_follow JOIN timeline_tbl ON timeline_tbl.username =  tbl_follow.follow where follow_by = 'mark' "

$result = mysql_query($sql);

if (!$result) {
    echo "Could not successfully run query ($sql) from DB: " . mysql_error();
    exit;
}

if (mysql_num_rows($result) == 0) {
    echo "No rows found";
    exit;
}


while ($row = mysql_fetch_assoc($result)) {
    echo $row["staus"];
}

答案 1 :(得分:0)

select t.* 
from timeline_tbl t
join tbl_follow f on f.username = t.follow
where t.follow = 'mark'

它将返回所有MARK的追随者记录。