我必须从mysql数据库中提取数据,但是按日期顺序。我使用foreach命令来获取数据,但是当数据是echo时,它是每个foreach结果的日期顺序。
$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
任何人都可以推荐更好的方法来解决这个问题。我需要了解如何通过一次性广告从数据库中获取数据,然后对结果进行排序。
答案 0 :(得分:0)
您是否尝试过使用INNER加入。请尝试以下代码。我希望它有效。
$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 />";
}