Une galerie de photo optimisée ?
Posté : 29 nov. 2006, 16:43
Bonjour,
je travaille sur une galerie de photos, et j'aimerais rendre l'affichage de cette galerie le moins lourd possible en requetes pour le serveur.
J'affiche 15 photos par page. Si il reste des photos à afficher, j'affiche un lien 'suivant'.
Si $page > 1, j'affiche également un lien précédent.
Or, j'ai un petit problème. Ma requête qui va chercher les photos ds la base est la suivante :
$page : le numéro de la page en cours.
$displayed : le nombre de photos affichées par page (ici, 15)
Le problème est que je n'arrive plus à savoir si il y'a plus de 15 photos ds ma base. A l'origine, je récuperais ce nombre de photos total avec une requete sans LIMIT, et un compteur $count qui s'incrémentait à chaque tour de boucle. si $count > 15, je fermais la boucle, et affichait mon lien 'suivant'. J'ai changé de requête pour avoir quelques chose de plus propre.
Suis-je obligé de rajouter une deuxième requete, sans LIMIT, pour connaitre mon nombre max de photos ? Puis-je alors supprimer ma reqûete avec LIMIT, et garder un système de 'suivant/précédent' qui fonctionne ?
Selon vous, comment se fait une galerie, au niveau des requêtes ?
je travaille sur une galerie de photos, et j'aimerais rendre l'affichage de cette galerie le moins lourd possible en requetes pour le serveur.
J'affiche 15 photos par page. Si il reste des photos à afficher, j'affiche un lien 'suivant'.
Si $page > 1, j'affiche également un lien précédent.
Or, j'ai un petit problème. Ma requête qui va chercher les photos ds la base est la suivante :
$sql = "SELECT *
FROM PHOTOS
WHERE photo_style_id = '".$_GET['id']."'
ORDER BY photo_id
LIMIT ".($page - 1) * $displayed.",".$page * $displayed;
les variables : $page : le numéro de la page en cours.
$displayed : le nombre de photos affichées par page (ici, 15)
Le problème est que je n'arrive plus à savoir si il y'a plus de 15 photos ds ma base. A l'origine, je récuperais ce nombre de photos total avec une requete sans LIMIT, et un compteur $count qui s'incrémentait à chaque tour de boucle. si $count > 15, je fermais la boucle, et affichait mon lien 'suivant'. J'ai changé de requête pour avoir quelques chose de plus propre.
Suis-je obligé de rajouter une deuxième requete, sans LIMIT, pour connaitre mon nombre max de photos ? Puis-je alors supprimer ma reqûete avec LIMIT, et garder un système de 'suivant/précédent' qui fonctionne ?
Selon vous, comment se fait une galerie, au niveau des requêtes ?