2016-07-04 25 views
-1

我有麻煩加載數據按我的數據庫中的日期排序。首頁/時間軸/牆網頁製作

我創建了一個數據庫來保存數據(約4位用戶id)。在時間線頁面上,上面的用戶的帖子應該是「相對」回聲,按日期排序。

但是,當我編碼,第一用戶的職位是第一次加載,按日期排序,則第二個用戶,等等....

請我怎樣才能解決這一問題?

已編輯!

$timeline = mysql_query("SELECT id FROM timeline_users") or die (mysql_error()); 
        while($row = mysql_fetch_array($timeline)) { 
           $user = $row['id']; 
         $post = mysql_query("SELECT * FROM post WHERE userid = $user ORDER BY date DESC LIMIT 7") or die (mysql_error()); 
           $p = mysql_fetch_array($post); 


           //post data 
} 
} 

//等

+1

請添加查詢 –

+0

好吧,我只是做了 – adetiwa

回答

0

所以,你要按照日期順序顯示的職位,而不是由用戶?第一個用戶首先加載的原因是因爲你的第一個查詢沒有任何順序,所以無論你的第二個查詢的日期順序如何,它仍然會得到第一個用戶,因爲它是第一個加載到第二個用戶的用戶查詢。

試試這個:

$timeline = mysql_query("SELECT id FROM timeline_users") or die (mysql_error()); 
while($row = mysql_fetch_array($timeline)) { 
    $user[] = $row['id']; 
    } 

    $newUsers = implode(",",$user); 
    $post = mysql_query("SELECT * FROM post WHERE userid IN ($newUser) ORDER BY date DESC LIMIT 7") or die (mysql_error()); 
    $p = mysql_fetch_array($post); 
+0

當我這樣做,我得到這個MySQL錯誤...您的SQL語法錯誤;檢查對應於您的MariaDB服務器版本的手冊,以找到正確的語法,以便在',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, )ORDER BY date DESC LIMIT 7'at line 1 – adetiwa

+0

@adetiwa這將意味着你的$ row ['id']沒有返回任何東西,你是否檢查過你的第一個查詢,如果它返回的是行ID? – hungrykoala

+0

謝謝。它現在工作:) – adetiwa