par
ps6c0tic » 22 juil. 2013, 11:52
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

ç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>
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]<?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>[/php]