Je vais tacher d'être explicite dans mon problème. Je n'arrive pas à afficher ma pagination au seins des mes pages.
Je pense que le problème vien du js il faut intégrer la pagination ds le JS mais la je suis perdu. merci pour le coup de main.
Sinan il y a ce système mais faire les links ça va faire en sorte que ça marche c'est autre chose. http://flaviusmatis.github.io/simplePagination.js/
J'ai une page avec la pagination (recherche.php)
<?php
$nbParPage = 5;
$lstDep = array();
$departement = '-1';
if(isset($_GET['departement']) && !empty($_GET['departement'])){
$departement = $_GET['departement'];
}
$region = -1;
//requete pour le select par département.
if(isset($_GET['region']) && !empty($_GET['region']) && $_GET['region'] != -1){
$region = $_GET['region'];
$req_departement = "select * from departements WHERE region_id = ".$region." ORDER BY nom";
if($departement == '-1'){
$res_dep = mysql_query($req_departement);
while($line = mysql_fetch_array($res_dep)){
$lstDep[] = $line['departement_id'];
}
}
}else{
$req_departement = "select * from departements ORDER BY nom";
}
//requete pour le select loisir
$loisir = '-1';
if(isset($_GET['loisir']) && !empty($_GET['loisir'])){
$loisir = $_GET['loisir'];
}
$req_sortie = "select * from type_loisir ORDER BY type";
$requete="SELECT * FROM loisirs where date_fin_sortie > NOW() and valide = 1";
if($departement != -1){
$requete .= " and id_departements = ".$departement;
}
if($loisir != -1){
$requete .= " and id_type_loisirs = ".$loisir;
}
if(!empty($lstDep)){
$requete .= " and id_departements IN (".implode(",", $lstDep).")";
}
$calculPage =mysql_query($requete);
$nbTotal = mysql_num_rows($calculPage);
$nbPages = ceil($nbTotal/$nbParPage);
if(isset($_GET['page'])){
$pageActuelle=intval($_GET['page']);
if($pageActuelle>$nbPages){
$pageActuelle=$nbPages;
}
}else {
$pageActuelle=1;
}
$startLimit=($pageActuelle-1)*$nbParPage;
$resultat=mysql_query($requete." limit ".$startLimit.",".$nbParPage);
?>
J'ai une page qui me permet d'afficher les news (news.php)Dans la page news.php
J'appele ma pagination avec
<?php include("include/recherche.php"); ?>
La partie JS qui nous permet de traiter et d'analyser le bouton sur lequel à cliqué l'utilisateur ( test1,test2,...)[javascript]
<script type="text/javascript">
// On déclare la fonction qui va aller chercher les données en base de données selon le bouton cliqué
function chargerDonnees(bouton) {
// On appelle en ajax le fichier rechercheAjax.php et on lui passe en GET le bouton sur lequel l'utilisateur a appuyé
$.ajax({
url: 'include/rechercheAjax.php?bouton='+bouton,
// Lorsque le fichier rechercheAjax.php a fini de s'exécuter, il retourne une chaîne au format JSON
success: function (data) {
var sorties = $.parseJSON(data);
console.log(sorties);
// Pour chacune des lignes retournées
$('#bloc_page').html('');
for(var i = 0; i < sorties.length; i++) {
// On prépare l'HTML qui va afficher les résultats
// Pour chacune des lignes retournées
// On vide la zone de résultats
var html = '<div class="col-md-4 col-sm-6 marg15"><div class="wrap"><a href="add_favoris.php?idfav='+sorties.id_loisirs+'" ><div class="corner">FAVORIS</div></a>';
html += '<a href="annonce_zoom.php?id='+sorties.id_loisirs+'" >';
if(sorties.photo != "") {
html += '<img class="img-responsive" src="img/annonce/'+sorties.photo+'" ></a>';
}
html += '<h3>'+sorties.titre+'</h3>';
html += '<p class="desc">'+sorties.description+'</p>';
html += '<hr><div class="utiles">';
html += '<p class="pull-right pad10">'+sorties.date_debut_sortie+'</p>';
html += '<p class="city pull-left pad10"><i class="fa fa-map-marker"></i> '+sorties.city+'</p></div>';
html += '<input class="look pull-right" type="button" value="CONTINUER"><a href="annonce_zoom.php?id='+sorties.id_loisirs+'"></a></div></div></div>';
// On ajoute l'HTML préparé à la page
$('#bloc_page').append(html);
}
}
});
}
</script>
[/javascript]
Les bouton du js:
[javascript]
<ul class="nav nav-tabs">
<li class="active"><a href="#home" onclick="javascript:chargerDonnees(0);" data-toggle="tab" >Toutes</a></li>
<li><a href="#profile" onclick="javascript:chargerDonnees(1);" data-toggle="tab">Aujourd'hui</a></li>
<li><a href="#messages" onclick="javascript:chargerDonnees(2);" data-toggle="tab">Demain</a></li>
<li><a href="#settings" onclick="javascript:chargerDonnees(3);" data-toggle="tab">Ce week - end</a></li>
</ul>
[/javascript]
Et la j'affiche les news ainsi que le script de la pagination:
<div id="bloc_page">
<?php
while($loisirs=mysql_fetch_array($resultat)) { ?>
<?php $date_sortie = DateTime::createFromFormat('Y-m-d', $loisirs['date_debut_sortie']);?>
<?php $date = DateTime::createFromFormat('Y-m-d H:i:s', $loisirs['date_debut_sortie']);?>
<?php $datef = DateTime::createFromFormat('Y-m-d H:i:s', $loisirs['date_fin_sortie']);?>
<?php $diff = floor(($datef->getTimestamp() - $date->getTimestamp())/86400) ;?>
<!-- Annonce -->
<div class="col-md-4 col-sm-6 marg15">
<div class="wrap">
<a href="add_favoris.php?idfav=<?php echo $loisirs['id_loisirs'];?>"><div class="corner">FAVORIS</div></a>
<a href="annonce_zoom.php?id=<?php echo $loisirs['id_loisirs'];?>" >
<?php if(!empty($loisirs['photo'])){?><img class="img-responsive" src="img/annonce/<?php echo $loisirs['photo'];?>" ><?php }?></a>
<h3><?php echo $loisirs['titre']; ?></h3>
<p class="desc"><?php echo substr($loisirs['description'], 0, 150).'...'; ?></p>
<hr>
<div class="utiles">
<p class="pull-right pad10"><?php echo ucfirst($jour[$date->format('N')]); ?> <?php echo $date->format('d'); ?> <?php echo ucfirst($mois[$date->format('n')]); ?> </p>
<p class="city pull-left pad10">
<i class="fa fa-map-marker"></i> <?php echo $loisirs['city'];?>
</p>
</div>
<a href="annonce_zoom.php?id=<?php echo $loisirs['id_loisirs'];?>" > <input class="look pull-right" type="button" value="CONTINUER"></a>
</div>
</div>
<?php }?>
<div class="pagination">Pages :
<?php
$listParam = '';
foreach($_GET as $key=>$param){
if($key != 'page'){
$listParam .= '&'.$key.'='.$param;
}
}
for($i=1; $i<=$nbPages; $i++){
if($i==$pageActuelle) {
echo ' <span class="page active">'.$i.'</span> ';
}else{
echo '<div class="page"><a href="sortie.php?page='.$i.$listParam.'">'.$i.'</div></a> ';
}
}
?>
</div>
</div>
Et là, la partie rechercheajax.php<?php
switch($_GET['bouton']) {
case 0:
//Si l'utilisateur clique sur "Toutes les annonces", il n'y a pas de filtres
$requete = "SELECT * FROM loisirs where date_fin_sortie > NOW() and valide = 1";
break;
case 1:
//Si l'utilisateur clique sur "Aujourd'hui", on n'affiche que les sorties dont la date de début est celle du jour courant
$date = new DateTime();
//Pour que les sorties soient retournées quelle que soit l'heure prévue, on formate la date en s'arrêtant au niveau du jour
$requete = "SELECT * FROM loisirs WHERE date_format( `date_debut_sortie`, '%Y-%m-%d' ) = '".$date->format('Y-m-d')."' and valide = 1";
break;
case 2:
//Si l'utilisateur clique sur "Demain", on n'affiche que les sorties dont la date de début est celle de demain
$date = new DateTime();
//On ajoute un jour
$date->add(new DateInterval('P1D'));
//Pour que les sorties soient retournées quelle que soit l'heure prévue, on formate la date en s'arrêtant au niveau du jour
$requete = "SELECT * FROM loisirs WHERE date_format( `date_debut_sortie` , '%Y-%m-%d' ) = '".$date->format('Y-m-d')."' and valide = 1";
break;
case 3:
$date = new DateTime();
$date2 = new DateTime();
$jour = (int)$date->format('w');
$date->add(new DateInterval('P'.(6-$jour).'D'));
$date2->add(new DateInterval('P'.(6-$jour+1).'D'));
$requete = "SELECT * FROM loisirs WHERE date_format( `date_debut_sortie` , '%Y-%m-%d' ) between '".$date->format('Y-m-d')."' and '".$date2->format('Y-m-d')."' and valide = 1";
// On calcule la date de ce week-end
break;
default:
$requete = "SELECT * FROM loisirs where date_fin_sortie > NOW() and valide = 1";
break;
}