[RESOLU] Petit problème pagination deuxième page

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Petit problème pagination deuxième page

Re: Petit problème pagination deuxième page

par mantraax » 16 nov. 2015, 17:54

Salut or 1
Je suis en train de m'embrouiller et maintenant j'ai plus de résultat du tout
j'ai changer le post en get mais j'arrive pas à repasser la ville dans les paramètres
tu pourrais svp développer un peu ta réponse?
ça m'aiderait bien
Merci.

Re: Petit problème pagination deuxième page

par or 1 » 16 nov. 2015, 16:35

$city = $_POST["villes"];
changer le post en get dans le formulaire de recherche, et repasser la ville dans les paramètres en plus du numéro de page.

Petit problème pagination deuxième page

par mantraax » 16 nov. 2015, 12:42

Bonjour,

J'ai réalisé un petit moteur de recherche sur mon site mais il y a un petit probleme sur ma pagination.
quand je fait une recherche, il me dirige bien vers une nouvelle page avec les résultats (9 maximum par page) mais quand je clique sur la page deux, il n'y a aucun résutat.
Je pense qu'il faudrait que je récupère la valeur saisie dans le champs de recherche pour ma page deux avec un $_GET mais je n'y arrive pas.
Quelqu'un pourrait m'aider svp? Merci
<!--********************************************* PROFILS *******************************************-->
<?php
$city = $_POST["villes"];  // récupération des données du champs de recherche
?>

<?php
$perPage = 9; // resultats max par page

$req = $db->query("SELECT COUNT(*) AS total FROM profils WHERE ville = '$city'"  );  // calcul nb de page
$result = $req->fetch();
$total = $result['total'];


$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 ville = '$city'  ORDER BY id 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 }  ?>  

<!-- ************************************* NUMÉROS DE PAGES ******************************************-->

<div class="numeros-pages">
<ul id="pagination">


<?php

if ($page > 1):
    ?><a href="?page=<?php echo $page - 1; ?>">Précédent</a> <?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):
    ?> <a href="?page=<?php echo $page + 1; ?>">Suivant</a><?php
endif;
?>
</ul>

</div>