Ajoute la recherche par date
This commit is contained in:
@@ -23,8 +23,13 @@ class VisitorController {
|
||||
|
||||
$page = intval($params['page'] ?? 1);
|
||||
$total = $gw->getCount();
|
||||
|
||||
$nbPages = Pagination::getNbPages($total, self::PER_PAGE);
|
||||
$news = $gw->getPaginatedRecentNews($page , self::PER_PAGE);
|
||||
if(!empty($_GET['dateDeb']) && !empty($_GET['dateFin'])) {
|
||||
$news = $gw->getLike($_GET['dateDeb'], $_GET['dateFin'], $page , self::PER_PAGE);
|
||||
} else {
|
||||
$news = $gw->getPaginatedRecentNews($page , self::PER_PAGE);
|
||||
}
|
||||
$nbComments = $gwc->getCommentNumber();
|
||||
if ($user !== null) {
|
||||
$nbCommentsByUser = $gwc->getCommentNumberFromUser($user->getId());
|
||||
|
@@ -76,6 +76,24 @@ class NewsGateway
|
||||
return $data === false ? null : $this->createNews($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return News[]
|
||||
*/
|
||||
public function getLike(string $dateDeb, string $dateFin,int $page = 1, int $limit = 10): array {
|
||||
$req = $this->pdo->prepare('SELECT * FROM news WHERE DATE_FORMAT(publication_date, "%Y-%m-%d") BETWEEN DATE_FORMAT(:dateDeb, "%Y-%m-%d") AND DATE_FORMAT(:dateFin, "%Y-%m-%d") ORDER BY publication_date LIMIT :limit OFFSET :offset;');
|
||||
$req->bindValue(':dateDeb', $dateDeb, PDO::PARAM_STR);
|
||||
$req->bindValue(':dateFin', $dateFin, PDO::PARAM_STR);
|
||||
$req->bindValue('limit', $limit, PDO::PARAM_INT);
|
||||
$req->bindValue('offset', ($page - 1) * $limit, PDO::PARAM_INT);
|
||||
if (!$req->execute()) {
|
||||
return [];
|
||||
}
|
||||
$news = [];
|
||||
while ($data = $req->fetch()) {
|
||||
$news[] = $this->createNews($data);
|
||||
}
|
||||
return $news;
|
||||
}
|
||||
|
||||
private function createNews(array $data): News
|
||||
{
|
||||
|
@@ -5,7 +5,11 @@
|
||||
<?= "Nombre de messages de l'utilisateur : " . $params['nbCommentsByUser'] ?>
|
||||
</p>
|
||||
</div>
|
||||
<h1>Hello world!</h1>
|
||||
<form method="GET">
|
||||
<input id="dateDeb" name="dateDeb" type="text" placeholder="Date début">
|
||||
<input id="dateFin" name="dateFin" type="text" placeholder="Date fin">
|
||||
<input id="submit" type="submit" value="Search">
|
||||
</form>
|
||||
<?php foreach ($params['news'] as $news) : ?>
|
||||
<a href="<?= $router->url($news->getSlugRedirect()) ?>">
|
||||
<div class="card">
|
||||
|
Reference in New Issue
Block a user