Page 1 sur 1

Pagination avec seulement précédent et suivant

Posté : 26 juil. 2019, 09:17
par yoann38
$sql = 'SELECT SQL_CALC_FOUND_ROWS * FROM actu WHERE ville = :ville AND categorie = :categorie';
		if (isset($_POST['terasse']) && isset($_POST['parking']) && isset($_POST['wifi'])) {
		    $sql .= ' AND terasse = 1 AND parking = 1 AND wifi = 1';
		} else if (isset($_POST['terasse'])) {
		    $sql .= ' AND terasse = 1';
		} else if (isset($_POST['parking'])) {
		    $sql .= ' AND parking = 1';
		} else if (isset($_POST['wifi'])) {
		    $sql .= ' AND wifi = 1';
		} else if (isset($_POST['restauration'])) {
		    $sql .= ' AND restauration = 1';
		}
	

	// Paramètre de la pagination
	$page = (!empty($_GET['page']) ? $_GET['page'] : 1);
	$limite = 2;
	$debut = ($page - 1) * $limite;


	$sql .= ' LIMIT :limite OFFSET :debut'; // limite à 5
	$sql = $bdd->prepare($sql);
	$sql->bindParam(':ville', $ville, PDO::PARAM_INT);
	$sql->bindValue(':categorie', $categorie, PDO::PARAM_INT);
	$sql->bindValue('debut', $debut, PDO::PARAM_INT);
	$sql->bindValue('limite', $limite, PDO::PARAM_INT);
	$sql->execute();
	
	// Récupération des valeurs de pagination
	$resultFoundRows = $bdd->query('SELECT found_rows()');
	$nombredElementsTotal = $resultFoundRows->fetchColumn();
	$nombreDePages = ceil($nombredElementsTotal / $limite);
<div class="col-lg-9">
				<?php
				if($sql->rowCount() > 0) {			 
					while($etablissement = $sql->fetch(PDO::FETCH_ASSOC)){  
						echo 'blabla';
					}
				}else{
					echo'Nous n\'avons pas encore de sites enrgistrés dans cette catégorie.';
				}
				?>
				
<?php
if ($page > 1):
    ?><a href="?page=<?php echo $page - 1; ?>">Page précédente</a> — <?php
endif;

if ($page < $nombreDePages):
    ?>— <a href="?page=<?php echo $page + 1; ?>">Page suivante</a><?php
endif;
  }
?>