Я сделал раздел комментариев на своем сайте, используя PHP и MySQL. Однако все старые комментарии находятся вверху, а новые комментарии внизу. Как изменить порядок, чтобы новые комментарии были сверху, а старые - снизу?

Вот мой comments.inc.php:

<?php
function setComments($conn) {
  if (isset($_POST['commentSubmit'])) {
    $uid = $_POST['uid'];
    $date = $_POST['date'];
    $message = $_POST['message'];
    $sql = "INSERT INTO comments (uid, date, message) VALUES ('$uid', '$date', '$message')";
    $result = $conn->query($sql);
  }
}

function getComments($conn) {
  $sql = "SELECT * FROM comments";
  $result = $conn->query($sql);
  while ($row = $result->fetch_assoc()) {
    echo "<div class='comment-box'><p>";
    echo $row['uid']."<br>";
    echo $row['date']."<br>";
    echo '<input type="button" value="More Info" onclick="window.location=\'more_info.php?start=' . urlencode($row['message']) . ' \';" />';
    echo "</p></div>";
  }
}

Заранее спасибо! :)

-2
Kevin 3 Сен 2017 в 08:37

4 ответа

Лучший ответ

SELECT * FROM comments ORDER BY date DESC

1
Aakash Martand 3 Сен 2017 в 05:42
SELECT * FROM comments ORDER BY date DESC

Для получения дополнительной информации вы можете обратиться по ссылке ниже. Все возможности перечислены.

https://dev.mysql.com/doc/refman/5.7/en/order-by-optimization.html

1
Dulith De Costa 3 Сен 2017 в 06:06

Вы можете использовать ORDER BY date DESC или то же самое с полем первичного ключа, если это автоинкремент при построении вашего запроса.

1
Endika Tapia López 3 Сен 2017 в 07:46

В зависимости от даты и времени мы можем показывать один раз вверху, а новые комментарии внизу:

SELECT * FROM comments ORDER BY date desc
2
AbsoluteƵERØ 3 Сен 2017 в 06:01