Salut à tous !
Dans le cadre d’une pagination ou je ne peux pas utiliser LIMIT (sql), je fais un classement en fonction de l’id du post que je veux afficher.
pour aller à la page suivante, pas de soucis, je passe l’id trouvé à la page suivante, et je relance la recherche à partir de cet id.
pour aller à la page précédente… pas de soucis non plus, ça revient plus ou moins au même
mais pour revenir à la page qui précède encore?…puis celle qui précède?
ma solution est de créer un array et à chaque nouvelle page, de le remplir avec le dernier id, puis d’aller piocher dedans une fois qu’on veut revenir en arrière. Malheureusement je suis bloqué !
if(isset($_GET[‘array’])){
$data=unserialize($_GET[‘array’]);
$data[count($data)] = $id_du_dernier_post; // ou $data[] = $id_du_dernier_post;
}
puis plus tard :
<a href="<?php echo bloginfo('url');echo '/search?page='.$page.'&recherche='.$recherche.'&client='.$client.'&localisation='.$localisation.'&annee='.$annee.'&filiale='.$filiale."&array=".urlencode(serialize($data))."&move=next" ; ?>« ><?php echo "page suivante";?></a>
quand je passe une variable (contenant le numéro de la page obtenu par GET) ou un string, ça ne fonctionne pas
quand je passe un nombre (directement ou en passant par une variable), l’array se remplit et est transmit aux pages suivantes
avez vous une idée pour empêcher ça :p
EDIT : bon, ça fonctionne maintenant, car je passe ma variable en intval(); afin de récupérer un int et de l’insérer dans le tableau.
Néanmoins, je ne comprend pas pourquoi je n’arrive pas à passer de string.
un soucis au niveau des quotes?
si quelqu’un a une idée, je suis preneur quand même :p