8721 sujets

Développement web côté serveur, CMS

Bonjour, j'ai un petit souci avec un système de pagination.

Je m'explique, j'ai une page qui affiche des images 5 par 5.
J'ai une pagination qui fonctionne bien.

J'ai ajouté en bas de cette page un carrousel qui affiche aléatoirement 9 images (tirées des X images disponibles).

Je cherche à faire en sorte que quand on clique sur une image du carrousel (affichage aléatoire) le lien amène directement sur la bonne page et sur la bonne ancre.

la table qui contient les images a la structure suivante :

ID NOM VISIBLE
82 http://www.xxx.com/monrep/image82.jpg oui
81 http://www.xxx.com/monrep/image81.jpg oui
80 http://www.xxx.com/monrep/image80.jpg non
79 http://www.xxx.com/monrep/image79.jpg oui
.
.
.
1 http://www.xxx.com/monrep/image1.jpg oui


Attention certaines images ne sont pas affichées (visible=non pour id80) ce qui crée un décalage

En résumé
Si je clique sur l'image qui a l'id 82 (dernier enregistrement) je dois afficher la page 1
Si je clique sur l'image qui a l'id 1 (premier enregistrement) je dois afficher la dernière page
Si je clique sur l'image qui a l'id 7 (septième enregistrement) je dois afficher l'avant dernière page (puisque j'affiche 5 par 5)

Quelqu'un a t-il une idée ? (dites moi si ce n'est pas clair)

Merci à tous
Modifié par pareto (24 Jul 2014 - 11:41)
Je ne suis pas sûr de tout bien comprendre mais je tente de t'aider Smiley smile

Le numéro de page à afficher se fera simplement par une division:
$pageNumber = $imageCount / 5;

Ce qui donne:

- 6ème image: page 1
- 2ème image: page 0
- 20ème image: page 4

Pour l'ancre tu peux simplement mettre $imageCount comme valeur de l'attribut id à la ligne correspondante:

<a href="/page.php?page=1#id=6">Image 6</a>

...
<tr id="6"><td>6</td><td>http://www.xxx.com/monrep/image82.jpg</td><td>oui</td></tr>


Ca t'aide un peu?
Merci de ton aide, j'avais envisagé cette solution mais ça ne fonctionne pas à tous les coups (les id des images ne se suivent pas forcément)
J'ai solutionné autrement
Modifié par pareto (21 Aug 2014 - 13:27)