Page 1 sur 1

Pagination avec ajax

Posté : 22 juil. 2013, 11:52
par ps6c0tic
salut la compagnie, voilà j'ai réussi à réaliser une pagination qui marche super bien, le seul bémol est que je dois recharger ma page à chaque fois que je veux passer à une nouvelle partie de ma pagination.
Je sais qu'il y a moyen de recharger que la partie de la pagination grâce à AJAX mais je ne sais pas comment m'y prendre :? si vous pouviez me donner un coup de pouce, ou deux :D ça serait vraiment génial

Voilà un exemple où j'utilise ma pagination:
<?php
	session_start();
	include('../charte/database_connexion.php');
	include('../charte/corps_admin.php');
	echo '<title>Gestion de Rôle</title>';
	echo '<body>';
	if(isset($_POST['id_role'])){
		$req=$bdd->query("SELECT * FROM roles WHERE id_role='" . $_POST['id_role'] . "'");
		$role=$req->fetch();
		$req->closeCursor();
		if($role['id_role']!=$_POST['id_role'] or $role['libelle']!=$_POST['libelle'] )
			$bdd->exec("UPDATE roles SET libelle='" . $_POST['libelle'] . "' WHERE id_role='" . $_POST['id_role'] ."'") or die(pint_r($bdd->errorInfor()));
			header('location: role.php');
	}
	if(!isset($_GET['id_role'])){
	include ('../collaborateur/function.php');
	include("../js/accordion_ajout.js");
	$page = (int) (!isset($_GET["page"]) ? 1 : $_GET["page"]);
	$limit = 5;
	$startpoint = ($page * $limit) - $limit;
	$statement="SELECT * FROM roles";
	?>


<fieldset>
	<legend class="titre_demande">Liste des Rôles</legend>
<table  width="1024" align="center" class="tableau">
	<tr>
			<td rowspan="1">ID Role</td>
			<td rowspan="1">Libellé</td>
			<td colspan="2">Administration</td>

		</tr>


	<?php
	$req=$bdd->query($statement . " LIMIT {$startpoint} , {$limit}");
	while($donnée=$req->fetch())
	{
		echo '<tr>';
		echo '<td><center><strong>' . $donnée['id_role'];
		echo '</strong></center></td><td><center>' . $donnée['libelle'];
		echo '<td  ><center><a href="role.php?id_role=' . $donnée['id_role'] . '&operation=1"> <img src="../image/reload-system-software-update-icone-7320-96.png" />Modifier</a></td>';
		echo '</center></td><td onclick="message()"><center><a href="role.php?id_role=' . $donnée['id_role'] . '&operation=0"> <img src="../image/6.png" />Supprimer<center></a></td>';}
	echo '</tr>';

	?>

<tr><td colspan ="4">
<center><ul class="navigation">
  <li class="toggleSubMenu"><span>Ajouter Nouveau Rôle:</span>
    <ul class="subMenu">
      <li>
      <form method="post" action="ajout_role_statut_conge_exceptionnel.php">
      <label for="role">Libellé Rôle: </label>
      <input type="text" id="role" name="role" required class="labdesign" /><br/>
      <input type="submit" class="ajouter" />
      </form></li>
    </ul>
    </li>
</ul></center>
</td>
</tr>
	</table></fieldset>
	<?php
	echo  pagination($statement,$limit,$page);
 }
	else{
		if($_GET['operation']==1){
			include('modifier_role.php');
		}
		if($_GET['operation']==0){
			$bdd->exec("DELETE FROM roles WHERE id_role='" . $_GET['id_role'] . "'") or die('erreur');
			unset($_GET);
			header('location: role.php');
		}
	}?>
	</body>
	</html>

Re: Pagination avec ajax

Posté : 22 juil. 2013, 21:49
par moogli
Modération :
Afin d'obtenir plus de réponses, le sujet a été déplacé dans un forum plus approprié.


salut,

Il faut que tu passe en paramètre de la requête ajax les infos de pagination pour que tu puisse faire la requête de sélection sur le script cible qui va te retourner un tableau (par exemple json) avec les données de la page.

ensuite tu reconstruit l'affichage html avec les données.

tu peux utiliser un framwork JS (jquery, Ext Js, etc etc) pour t'aider à la chose.


@+

Re: Pagination avec ajax

Posté : 23 juil. 2013, 13:06
par ps6c0tic
Merci beaucoup, c'est bon j'ai réussi a le faire :D