pagination

ViPHP
xTG
ViPHP | 7331 Messages

25 juil. 2014, 07:30

[javascript]
<script type="text/javascript">
var limit = 0;
var nbParPage = 5;

// 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+'&unParametre='+limit,// le traitement derrière pour calculer les dates en fonction de test1 , test 2 ...
// Lorsque le fichier rechercheAjax.php a fini de s'exécuter, il retourne une chaîne au format JSON
success: function (data) {
limit = limit + nbParPage; // mise à jour
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]

$nbParPage = 5;
$sql = $sql . ' LIMIT ' . mysql_real_escape_string($nbParPage) . ',' . mysql_real_escape_string($_GET['unParametre']);

Mammouth du PHP | 643 Messages

26 juil. 2014, 11:01

Salut, j'ai appliquer ce dont vous m'avez parlez et intégrer le code voici le résultat actuel (code).
Le problème reste le même c'est à dire que mêmele echo de page ne s'affiche plus dès que je clique sur un des filtres ( test1 = Toutes, test2 = Aujourd'hui ).
La page en question est dispo à cette adresse : http://lasortie.fr/sortie.php?region=22

Au sein de la page news.php, j'appelle ma pagination
<?php include("include/recherche.php"); ?>
recherche.php (code)
<?php
$nbParPage = 5;
$sql = $sql . ' LIMIT ' . mysql_real_escape_string($nbParPage) . ',' . mysql_real_escape_string($_GET['unParametre']);

$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);
?>

Viens ensuite le script qui permet d'afficher les événement en fonction des boutons cliqué test1,test2.....

[javascript]
<script type="text/javascript">
var limit = 0;
var nbParPage = 5;

// 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+'&unParametre='+limit,// le traitement derrière pour calculer les dates en fonction de test1 , test 2 ...
// Lorsque le fichier rechercheAjax.php a fini de s'exécuter, il retourne une chaîne au format JSON
success: function (data) {
limit = limit + nbParPage; // mise à jour
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 boutons test1,test2.....

[javascript]
<ul class="nav nav-tabs">
<li class="active"><a href="#home" onclick="javascript:chargerDonnees(0);" data-toggle="tab" >test1</a></li>
<li><a href="#profile" onclick="javascript:chargerDonnees(1);" data-toggle="tab">test2</a></li>
<li><a href="#messages" onclick="javascript:chargerDonnees(2);" data-toggle="tab">test3</a></li>
<li><a href="#settings" onclick="javascript:chargerDonnees(3);" data-toggle="tab">test4</a></li>
</ul>
[/javascript]

Et enfin de notre page news.php on affiche les news ainsi que la fameuse 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>   

Mammouth du PHP | 643 Messages

28 juil. 2014, 08:12

Est ce que le problème viens du JS ou du PHP, les Deux ?
Si vous avez la solution je suis preneur ça fait 4 jours que je suis sur le truc :/
Merci encore pour votre aide

ViPHP
xTG
ViPHP | 7331 Messages

28 juil. 2014, 17:36

Le problème vient des deux ou seulement du JS suivant comment on voit les choses.
A savoir le script include/rechercheAjax.php pour PHP et la fonction chargerDonnees pour Javascript.
Mais globalement c'est surtout chargerDonnees qui ne gère pas un affichage avec pagination.

Mammouth du PHP | 643 Messages

28 juil. 2014, 19:25

Commen resoudre le probleme svp ?

ViPHP
xTG
ViPHP | 7331 Messages

29 juil. 2014, 07:51

Je vais me répéter mais c'est pas le bon forum, ici on traite de PHP.
Tu as ouvert un sujet sur le forum javascript, attends une réponse.