Pagination

Fermé
mirakanto - Modifié par irongege le 12/08/2011 à 15:23
 mirakanto - 12 août 2011 à 15:22
Bonjour,
Bonsoir à tous!si vous pouvez m'aider, j'en suis très reconnaissant!J'ai un problème avec mon code de pagination, comment puis-je faire ça pour pouvoir manipuler suivant suivant ma page liste?
Voici mon code:

<?php
// print_r($_POST);
require_once 'config.php';

$query = "SELECT * FROM membres";

$filtre = array();

if(isset($_POST["nom"]) && $_POST["nom"] != "")
$filtre[] = sprintf("'nom' LIKE '%s' OR 'prenom' LIKE '%s'", "%".$_POST["nom"]."%", "%".$_POST["nom"]."%");
if(isset($_POST["civilite"]) && $_POST["civilite"] != "")
$filtre[] = sprintf("'civilite' = '%s'", $_POST["civilite"]);

if(count($filtre) != 0)
$query = $query." WHERE ".implode(" AND ", $filtre);

if(isset($_GET["page"]))
$page = $_GET["page"];
else
$page = 0;

$par_page = 2;

$query = sprintf("%s LIMIT %d, %d", $query, $page*$par_page, $par_page);

//echo $query;

$res = mysql_query($query) OR die (mysql_error());
//$page = mysql_num_rows($query);
?>
<script language="javascript">
function confirme(){
var confirmation = confirm("Voulez vous vraiment supprimer cette personne?");
if(confirmation){
return true;
}
return false;
}
</script>
<form method="post" action="">
<table cellpadding="0" cellspacing="0">
<tr><td><a href="form.php">Formulaire</td></tr>
<tr align="left">
<td>Rechercher par nom: </td>
<td><input type="text" name="nom" id="filtre" value="<?php if(isset($_POST["nom"])) echo $_POST["nom"]; ?>"></td>
<td><input type="submit" value="Chercher"></td>
</tr>
<td>Rechercher tous les: </td>
<td><select name="civilite">
<option value="" <?php if(isset($_POST["civilite"]) && $_POST["civilite"] == ""){ echo 'selected="selected"'; } ?>>Tous</option>
<option value="Mr" <?php if(isset($_POST["civilite"]) && $_POST["civilite"] == "Mr"){ echo 'selected="selected"'; } ?>>Mr</option>
<option value="Mme" <?php if(isset($_POST["civilite"]) && $_POST["civilite"] == "Mme"){ echo 'selected="selected"'; } ?>>Mme</option>
<option value="Mlle" <?php if(isset($_POST["civilite"]) && $_POST["civilite"] == "Mlle"){ echo 'selected="selected"';} ?>>Mlle</option>
</select></td>
</tr>
</table>
</form>
<table width="100%" border="1">
<?php if(isset($_GET["msg"])) :?>
<tr>
<td colspan="10">
<?php echo $_GET["msg"]; ?>
</td>
</tr>
<?php endif ?>
<tr>
<th width="2">Civilité</th>
<th width="50" align="center">Nom</th>
<th width="20" align="center">Prénom</th>
<th width="20" align="center">Date de naissance</th>
<th width="20" align="center">Profession</th>
<th width="20" align="center">Ville</th>
<th width="3" align="center">Code Postal</th>
<th width="20" align="center">Téléphone</th>
<th width="5" align="center">E-mail</th>
<th width="5" align="center">Action</th>
</tr>
<?php
while($data = mysql_fetch_array($res)){
?>

<tr valign="top">
<td align="center" class="td1"><?php echo $data["civilite"];?></td>
<td align="center" class="td2"><strong><?php echo $data["nom"]; ?></strong></td>
<td align="center" class="td3"><i><?php echo $data["prenom"]; ?></i></td>
<td align="center" class="td4"><?php echo $data["date_nais"]; ?></td>
<td align="center" class="td5"><?php echo $data["profession"]; ?></a></td>
<td align="center" class="td6"><?php echo $data["ville"]; ?></td>
<td align="center" class="td7"><?php echo $data["cp"]; ?></td>
<td align="center" class="td8"><?php echo $data["telephone"]; ?></td>
<td align="center" class="td9"><?php echo $data["email"]; ?></td>
<td align="center" class="td8"><a href="maj.php?id_membre=<?php echo $data["id_membre"]; ?>">Editer</a>
<a
href="supprime.php?id_membre=<?php echo $data["id_membre"]; ?>"
onclick="return confirme();"
>
Supprimer
</a></td>
</td>
</tr>
<?php } ?>
</table>
<a href="liste.php?<?php if(isset($_GET["page"])) echo $_GET["page"]; ?> ">suivant</a>

Merci d'avance pour votre aide!
Cordialement!
mirakanto

1 réponse

lupuz Messages postés 68 Date d'inscription mercredi 10 août 2011 Statut Membre Dernière intervention 12 août 2011 11
12 août 2011 à 13:58
Bonjour,

Pourquoi tu mets : <a href="liste.php?<?php if(isset($_GET["page"])) echo $_GET["page"]; ?> ">suivant</a> ?

Avec un lien comme celui-ci tu dois toujours rester sur la même page. il faudrait mettre :
<a href="liste.php?<?php if(isset($_GET["page"])) echo ($_GET["page"]+1); ?> ">suivant</a>
1
Merci beaucoup à toi lupuz, mais ma page avance sur une seule page et elle s'arrête la!peut-tu me dire ce que je dois encore ajouter sur le code?Merci beacoup pour ton aide!
0
lupuz Messages postés 68 Date d'inscription mercredi 10 août 2011 Statut Membre Dernière intervention 12 août 2011 11
Modifié par lupuz le 12/08/2011 à 14:23
Il faut aussi que tu ajoutes ta variable page dans l'URL :
<a href="liste.php?<?php if(isset($_GET["page"])) echo "page=".($_GET["page"]+1); ?> ">suivant</a>

PS : Tu comprends le code que tu écris ? Car cette erreur est énorme.
0
Merci beacoucoup pour ton aide!désolé parce que j'étais en train de réfléchir et mon code ne se termine pas jusqu'à la fin!Mais la page ne s'avance pas toujours!
Si tu as encore d'autre idée je t'ne remercie d'avance!
0
je t'en remercie d'avance!désolé pour les fautes d'orthographes, pourrait-tu me donner un url pour mieux comprendre et apprendre plus vite le php?Merci d'avance!
0
lupuz Messages postés 68 Date d'inscription mercredi 10 août 2011 Statut Membre Dernière intervention 12 août 2011 11
12 août 2011 à 15:10
0