Привет всем, мне нужна ваша помощь по php-коду ниже.
Я пытаюсь отобразить последнее (последнее сообщение) как первое в списке. Я не знаю, как использовать отметку времени ORDER BY Пожалуйста, помогите.
Вот мой код ниже:
<!DOCTYPE html>
<?php
include_once('includes/connection.php');
include_once('includes/article.php');
$article = new Article;
$articles = $article->fetch_all();
?>
<html>
<head>
<title>Blogger</title>
<link rel="stylesheet" href="assets/style.css">
</head>
<body>
<div class="container">
<a href="index.php" id="logo">B</a>
<ol>
<?php foreach ($articles as $article){?>
<li><a href="article.php?id=<?php echo
$article['article_id'];>">
<?php echo $article['article_title'];?>
</a>
- <small>
popsted <?php echo date('l jS', $article['article_timestamp']);>
</small>
</li>
<?php }?>
</ol>
<small><a href="admin">Admin</a></small>
</div>
</body>
</html>
Ниже приведен мой код класса Article, пожалуйста, помогите мне с тем, как разместить / вставить запрос метки времени ORDER BY. Спасибо!
<?php
class Article{
public function fetch_all(){
global $pdo;
$query = $pdo->prepare("SELECT * FROM articles");
$query->execute();
return $query->fetchAll();
}
public function fetch_data($article_id){
global $pdo;
$query = $pdo->prepare("SELECT * FROM articles WHERE article_id = ?");
$query->bindValue(1, $article_id);
$query->execute();
return $query->fetch();
}
}?>
Добавить ORDER BY
на ваш SQL-запрос:
$query = $pdo->prepare("SELECT * FROM articles ORDER BY article_timestamp DESC");
Выше говорит MySQL упорядочить результаты по article_timestamp
столбец в порядке убывания. Если вы хотите самый старый в первую очередь, это ASC
как в ASCending.
Вы можете подробнее в руководстве о сортировке колонок.
Других решений пока нет …