2016-11-07 3 views
-1

Ich muss Daten aus einer MySQL-Datenbank, aber in Datumsreihenfolge ziehen. Ich benutze einen Foreach-Befehl, um die Daten zu erhalten, aber wenn die Daten echo'd sind, ist es die Datumsreihenfolge für jedes einzelne foreach-Ergebnis.PHP-Abfragedatum sortiere mehrere Abfrageergebnisse

$userId = '29'; 

$sql="SELECT friendID FROM friendlink WHERE userId='$userId'"; 
$result=mysqli_query($conn,$sql); 

while($row=mysqli_fetch_assoc($result)) { 

     foreach ($row as $value) { 

     //echo $value; //echos name of the person 

     $sql="SELECT * FROM messages WHERE userId='$value' ORDER BY date"; 
     $result2=mysqli_query($conn,$sql); 

       while($row2=mysqli_fetch_assoc($result2)) { 

       $message = $row2['message']; 
       echo $message; 
       echo "<br />"; 



       } //end while 

     } //ends foreach 

} //end while 

Kann jemand empfehlen eine bessere Möglichkeit, dies zu nähern. Ich muss verstehen, wie man die Daten aus der Datenbank in einem Zug erhält und dann die Ergebnisse sortiert.

Antwort

0

Haben Sie versucht, INNER Join zu verwenden. Probieren Sie den folgenden Code aus. Ich hoffe, es funktioniert.

$userId = '29'; 
$sql="SELECT * FROM friendlink INNER JOIN messages ON friendlink.friendID=messages.userId ORDER BY date"; 
$result=mysqli_query($conn,$sql); 
while($row=mysqli_fetch_assoc($result)) 
{ 

     $message = $row['message']; 
     echo $message; 
     echo "<br />"; 
} 
+0

Cool, danke Fred. Ich kannte diese Abfrage in mysql nie, das bringt mich viel näher. Das läuft jetzt, es gibt mir die Daten in der Datumsreihenfolge, aber ich muss hinzufügen, wo friendlink.friendID = $ userId. Habe gerade ein paar Methoden ausprobiert, aber ich kann nicht sehen, wo das in der Abfrage gehen würde. – insomniac22

+0

Was meinst du damit? 'wo dies in der Abfrage gehen würde. ' –

+0

Ich benutzte diese Abfrage am Ende, INNER JOIN war was ich suchte. SELECT * FROM Friendlink INNER JOIN Nachrichten ON Friendlink.friendID = messages.userId wo friendlink.userId = '$ userId' bestellen nach Datum Vielen Dank Nadan, sehr geschätzt. – insomniac22

Verwandte Themen