2012-08-08 17 views
0

我的網站使用wallposts(「users_wall」)和followers(「users_follow」)一個表。 的wallposts表看起來像這樣(或多或少):(How)我可以製作新聞摘錄嗎?

ID NAME USER_ID (the id of the wall it's posted on) CONTENT 
1  James  3            Hi! 
2  Jim  3            Hey there! 

而且追隨者/下表是這樣的:

ID HEFOLLOWS THISGUY 
1  James   Jim 
2  Jim   James 

我怎樣才能讓工作 飼料出了這?我目前有一個Feed,但是我發現沒有辦法按帖子的ID排序,而不是發佈人員。礦山看起來像:

James: Hey (15th) 
James: Hi! (13th) 

Jim: Hi! (14th) 

當我希望它是:

所以
James: Hey (15th) 
Jim: Hi! (14th) 
James: Hi! (13th) 

我怎麼能做到這一點?請解釋一下,而不是把我發送到一個通用的mysql/php學習網站。

謝謝:)

編輯:這是我該怎麼做新聞飼料基本版本:

<?php 
$getfollowing = mysql_query("SELECT * FROM users_follow WHERE hefollows = '$username'"); 
while ($row = mysql_fetch_assoc($getfollowing)){ 
    $followername = $row['thisguy']; 
    $getposts = mysql_query("SELECT * FROM users_wall WHERE name = '$followername' SORT BY id DESC"); 
    while ($rows = mysql_fetch_assoc($getposts){ 
    $date = $rows['date'] 
    (...) 
    ?> 
    <div class="share"> 
    <?php echo($nameofposter); ?> 
    <br /> 
    <?php echo($share_content); ?> (<?php echo($date); ?>) 
    </div> 
    <?php 
    } 
    ?> 

這將導致:

<div class="share"> 
    James 
    <br /> 
    Hey (15th) 
</div> 

<div class="share"> 
    James 
    <br /> 
    Hi! (13th) 
</div> 

<div class="share"> 
    Jim 
    <br /> 
    Hi! (14th) 
</div> 

因爲詹姆斯在數據庫中是第一位的,它是按照追隨者/追隨者而不是共享的ID進行排序的。

+0

你還沒有約會嗎? – 2012-08-08 12:42:13

+0

你怎麼得到'14th','13th'? – 2012-08-08 12:43:34

+0

你使用什麼SQL命令來獲取提要? – PriestVallon 2012-08-08 12:45:32

回答

1

您必須有日期字段,或使用時間戳按時間順序組織帖子。

[更新] Ahhhh我認爲問題在於當您嘗試使用while語句迭代某些內容時,應該使用連接語句來完成此操作。我知道你真的不希望有人把你鏈接到一個通用的PHP頁面,但這是一個MySQL頁面,這是你需要的。

http://dev.mysql.com/doc/refman/5.0/en/join.html

當您嘗試使用這個,回來跟你做什麼,如果你仍然有問題,我會盡力幫助解決問題。

+0

不會在autoincrement字段中做同樣的事嗎?隨着每個插入物的增加?所以我們知道它們被插入的順序,但不是它完成的時間。 – Waygood 2012-08-08 13:01:09

+0

當然,如果您希望每當有東西被編輯到右邊的飼料的頂部。 – VoronoiPotato 2012-08-08 13:04:17

+0

因此編輯/更新創建一個新的記錄?也許我給你?但我按提供的信息去了,OP花了一段時間才說明他們已經在使用它了。 – Waygood 2012-08-08 13:26:58

相關問題