0

我正在做一个社交网站的大项目,但现在我被困住了,我需要你的建议。

我的问题是我不想在用户时间线下将帖子、视频和状态等所有内容显示到他的 profile.php 中。

我有 40 多个表,但让我指定我不想要的,我不想从这些表中获取数据以及如何在 profile.php 时间线部分显示它们?

Status Table
------------------------------------------
ID   |    sMessage    |    sDate   |  uId
------------------------------------------
1    | Testing status | 2013/07/03 |   1 


Videos Table
-----------------------------------------------------
ID   |      vName     |   vCode  |    vDate   |  uId
-----------------------------------------------------
1    | PHP and MYSQL  |  2MvYwz  | 2013/07/03 |   1 


Users Table
-----------------------------------
ID   |     uName      |  JoinDate   
-----------------------------------
1    |   Tem Henov    | 2013/07/03

这是我尝试过的:

class userTimeline {
    public function loadTimeline(){
     dbConn();
     $query = "SELECT 
                 sMessage, sDate, vName, vDate, vCode 
               FROM status
               INNER JOIN users
                 ON (status.uId = users.uId)
               INNER JOIN videos
                 On (videos.uId = users.uId)
               WHERE users.uId = '1'";

     return $result = mysql_query($query);
    }
}

并且它可以很好地加载数据,但是如何在块中显示该数据,例如它的状态显示在一个单独的块中,如果它的视频显示在另一个块中,以及如何按日期排序?!任何帮助表示赞赏。

4

1 回答 1

0

首先:将数据显示为各种<div>首先获取它们并显示,

1)获取所有记录并存储到一个php数组中

$rows = array();
while($row = mysql_fetch_array(YOUR_QUERY))
{
    $rows[] = $row;
}

2)现在使用foreach()循环使用从查询中获取的数据,无论你想要什么

if(is_array($rows)) {
    foreach($rows as $row) {
        //do with $row or create some if,switch condition here !
    }
}

对于特定的限制和调整,请研究我们从中获得的结果集mysql_fetch_array()

第二:要按日期缩短数据,您可以使用多个排序(点击此处查看教程),但我认为您应该使用MYSQL UNION合并两个或多个 MySQL 查询结果以获得单独的排序结果。

于 2013-07-03T08:54:11.983 回答