Au début du code je récupère les données de mon formulaire, je me connecte biensur à la BDD, je trie, ensuite j'affiche les résultats mais cela marche seulement pour la première page.
Quelqu'un pourrait il m'expliquer clairement comment modifier mon code de pagination pour pouvoir récupérer mes résultats en page 2, 3 ,4 etc...
Je sais qu'il faut que je réinsère mes $GET dans la pagination mais je ne sais pas comment faire et cela fait 3 jours que je galère.
Merci infiniment
<?php
$agemin = isset($_POST['agemin']) ? $_POST['agemin'] : ( !empty($_GET['agemin']) ? $_GET['agemin'] : '') ; // récupération des données du champs de recherche
$agemax = isset($_POST['agemax']) ? $_POST['agemax'] : ( !empty($_GET['agemax']) ? $_GET['agemax'] : '') ; // récupération des données du champs de recherche
$taimin = isset($_POST['taimin']) ? $_POST['taimin'] : ( !empty($_GET['taimin']) ? $_GET['taimin'] : '') ; // récupération des données du champs de recherche
$taimax = isset($_POST['taimax']) ? $_POST['taimax'] : ( !empty($_GET['taimax']) ? $_GET['taimax'] : '') ; // récupération des données du champs de recherche
$poimin = isset($_POST['poimin']) ? $_POST['poimin'] : ( !empty($_GET['poimin']) ? $_GET['poimin'] : '') ; // récupération des données du champs de recherche
$poimax = isset($_POST['poimax']) ? $_POST['poimax'] : ( !empty($_GET['poimax']) ? $_GET['poimax'] : '') ; // récupération des données du champs de recherche
$enfant = isset($_POST['enfant']) ? $_POST['enfant'] : ( !empty($_GET['enfant']) ? $_GET['enfant'] : '') ; // récupération des données du champs de recherche
$statut = isset($_POST['statut']) ? $_POST['statut'] : ( !empty($_GET['statut']) ? $_GET['statut'] : '') ; // récupération des données du champs de recherche
$cheveux = isset($_POST['cheveux']) ? $_POST['cheveux'] : ( !empty($_GET['cheveux']) ? $_GET['cheveux'] : '') ; // récupération des données du champs de recherche
$yeux = isset($_POST['yeux']) ? $_POST['yeux'] : ( !empty($_GET['yeux']) ? $_GET['yeux'] : '') ; // récupération des données du champs de recherche
$ville = isset($_POST['ville']) ? $_POST['ville'] : ( !empty($_GET['ville']) ? $_GET['ville'] : '') ; // récupération des données du champs de recherche
?>
<?php
$perPage = 12; // resultats max par page
$req = $db->query("SELECT COUNT(*) AS total FROM profils WHERE enfant = '$enfant' AND age BETWEEN (curdate() - interval '$agemax' year) AND (curdate() - interval '$agemin' year) AND taille BETWEEN '$taimin' AND '$taimax' AND poids BETWEEN '$poimin' AND '$poimax' AND statut = '$statut' AND cheveux = '$cheveux' AND yeux = '$yeux' AND ville = '$ville'");
$result = $req->fetch();
$total = $result['total'];?>
<div id="box-right-catalogue">
<h1 style="font-size: 26px">TROUVER VOTRE <font color="#5990b0">BELLE FEMME SLAVE</font></h1> </br>
<h2> Voici les femmes correspondant à vos critères de recherche - il y a <b><?php echo $total ?></b> profil(s).</h2>
<?php $nbPage = ceil($total/$perPage);
if(isset($_GET['page']) && !empty($_GET['page']) && ctype_digit($_GET['page']) == 1){
if ($_GET['page'] > $nbPage) {
$page = $nbPage;
}else{
$page = $_GET['page'];
}
}else{
$page = 1;
}
$first = ($page-1)*$perPage;
$reponse = $db->query("SELECT * FROM profils WHERE enfant = '$enfant' AND age BETWEEN (curdate() - interval '$agemax' year) AND (curdate() - interval '$agemin' year) AND taille BETWEEN '$taimin' AND '$taimax' AND poids BETWEEN '$poimin' AND '$poimax' AND statut = '$statut' AND cheveux = '$cheveux' AND yeux = '$yeux' AND ville = '$ville' ORDER BY age DESC LIMIT $first, $perPage" );
while ($donnees = $reponse->fetch())
{
?>
<div class="box-cadre-catalogue">
<img src="profils/<?php echo $donnees['photo']; ?>" class="photo1-catalogue" width="219" height="330">
<?php echo "<a href='".$donnees['lien']."'>"; ?> <img src="images/1cadre.png"class="cadre1-catalogue"></a>
<p class="prenom-catalogue"><?php echo $donnees['prenom']; ?>
<?php echo ageCalculator($donnees['age']);?> ans</p>
</div>
<?php } ?>
<!-- *********** PAGINATION ************* ************* PAGINATION **************-->
<div class="numeros-pages">
<ul id="pagination">
<?php
if ($page > 1):
?><li><a href="?page=<?php echo $page - 1; ?>">Précédent</a></li> <?php
endif;
for ($i = 1; $i <= $nbPage; $i++):
if($i == $page){
?><li class="active"><a href="?page=<?php echo $i; ?>"><?php echo $i; ?></a></li>
<?php
}
else{
?>
<li><a href="?page=<?php echo $i; ?>"><?php echo $i; ?></a></li><?php }
endfor;
if ($page < $nbPage):
?> <li><a href="?page=<?php echo $page + 1 ; ?>">Suivant</a></li><?php
endif;
?>
</ul>
</div>
</div>
</div>