Я создаю социальную сеть, и пользователь может загружать сообщения. Когда они загружают сообщения, они переходят на домашнюю страницу home.php, чтобы увидеть их. Все работает нормально, но моя проблема в том, что самые старые сообщения отображаются сначала, а новые - снизу. Как я могу исправить это, чтобы новые сообщения показывались сначала вместо старых?
home.php:
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
include("connect.php");
include("auth_login.php");
$username = isset($_SESSION['username']) ? $_SESSION['username'] : '';
$username = trim(isset($_GET['username']) ? $_GET['username'] : $username);
//Write the query
$sql = "SELECT * FROM posts WHERE username = '" . $username. "' ";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<p>".$row['body']. "</p>";
}
}
else {
echo "No posts";
}
Структура таблицы:
В инструкции SELECT вы можете использовать ORDER BY с DESC, чтобы сначала показать самые последние:
$sql = "SELECT * FROM posts WHERE username = '" . $username. "' ORDER BY post_id DESC";
Это должно отображать все сообщения от пользователя, где их имя пользователя = $ имя пользователя, в порядке их последнего сообщения (поскольку мы сортируем на основе post_id в порядке убывания).