8792 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai une galerie de photos classique (affichage en vignettes).
La galerie s'affiche à partir d'une boucle while en allant chercher les photos dans MySql.

Sous chaque photo, j'ai un lien "télécharger".

J'aimerais qu'à chaque fois que qualqu'un clique sur le lien "télécharger" (qui télécharge la photo zippée), un compteur soit incrémenté correspondant ainsi au nombre de téléchargements de chaque photo.

J'ai la table MySql suivante :

------------
id (unique, index)
photos_chemin (chemin exemple : toto.jpg)
compteur (initialisé à zéro la première fois)
------------

Donc, lorsqu'on clique sur le lien "télécharge" sous une vignette, j'aimerais que le téléchargement débute et que le compteur s'incrémente avec un "INSERT TO".

Mon problème, c'est que je n'arrive pas à faire les deux choses en même temps.

Comment faire ? Faut-il créer une fonction ?

Merci.

Luis
Salut,

pour la table Mysql il est préférable d'utiliser l'id de la table qui contient les images pour la désigner dans la table point, cela éviter la redondance de donnée!

id : clef primaire auto increment
idPhoto :entier, c'est l'id de la table qui contient les images
compteur entier valeur par defaut 0

Le principe est de ne pas faire un insert car il te faudrait la valeur précédente du compteur mais un update qui va ajouter un dans ta table
UPDATE table_compteur SET compteur=compteur+1 WHERE idPhot=$id;

ceci avant de lancer le télécharchement de la photo désirée.
Pour cela il va te falloir utiliser la fonction header de php, il y a un exemple pour forcer le téléchargement dans les commentaire.

@+
Pour les questions propres à php, merci de vous référer aux liens proposés dans l'annonce de ce salon.