Pagination

mirakanto -  
 mirakanto -
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 71 Statut Membre 11
 
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
mirakanto
 
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 71 Statut Membre 11
 
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
mirakanto
 
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
mirakanto
 
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 71 Statut Membre 11
 
0