2016-07-04 11 views
-1

Ich habe Probleme beim Laden der nach Datum geordneten Daten aus meiner Datenbank.Home Page/Zeitstrahl/Wand Webseitenaufbau

Ich habe eine Datenbank erstellt, um die Daten zu halten (etwa 4 IDs der Benutzer). Auf der Time-Line-Seite sollen die Posts der oben genannten Benutzer "relativ", geordnet nach Datum, echo sein.

Aber wenn ich codiert, die Post des ersten Benutzers wird zunächst nach dem Datum geladen, bestellt, die den zweiten Benutzer, und so weiter ....

Bitte wie kann ich dieses Problem beheben?

Bearbeitet!

$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 
} 
} 

// und so weiter

+1

fügen Sie bitte Ihre Anfrage –

+0

in Ordnung i nur – adetiwa

Antwort

0

So möchten Sie die Beiträge der Reihenfolge des Datums angezeigt werden, und nicht durch den Anwender? Der Grund, warum der erste Benutzer zuerst geladen wird, ist, weil Ihre erste Abfrage keine Reihenfolge hat. Daher wird unabhängig von Ihrer Reihenfolge nach Datum für Ihre zweite Abfrage immer noch der erste Benutzer abgerufen, da dieser als erster auf Ihre Sekunde geladen wurde Abfrage.

versuchen Sie dies:

$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

tat, als ich tat, dass ich diese Mysql Fehler bekam ... Sie haben einen Fehler in der SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MariaDB-Serverversion entspricht, für die richtige Syntax in der Nähe von ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) ORDER BY Datum DESC LIMIT 7 'in Zeile 1 – adetiwa

+0

@adetiwa das würde bedeuten, dass Ihre $ row [' id '] nichts zurückgibt, haben Sie Ihre erste Abfrage überprüft, ob die Zeilen-ID zurückgegeben wird? – hungrykoala

+0

danke. Es funktioniert jetzt :) – adetiwa