我必须按日期顺序从mysql数据库中提取数据。我正在使用foreach命令来获取数据,但是当回显数据时,这是每个单独的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
任何人都可以推荐一种更好的方法来解决此问题。我需要了解如何通过一次性广告从数据库中获取数据,然后对结果进行排序。
最佳答案
您是否尝试过使用INNER join。试试下面的代码。我希望它能起作用。
$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 />";
}
关于php - PHP查询日期对多个查询结果进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40473581/