Navigation : Forums > Suggestions > "optimisation" compteur de downloads

Pages : 1 Poster un nouveau sujet Ajouter un message
Auteur Message
gdelamarre

Messages : 1
Inscrit le : 27/11/2002
Posté le 15/09/2006 à 11:19:13 Message N°1 #
Hello,

une petite astuce (que je post ici puisque la section astuce n'est pas encore dispo ;))

dans le script "comtpeur de download", au moment du téléchargement, on vérifie si le fichier a dejà été téléchargé : si ce n'est pas le cas on insert un enregistrement dans la table "files", sinon on met à jouur l'enregistrement correspondant pour incrméenter le compteur.

Ce quie st fait comme ceci :

$records = mysql_fetch_array($req);
$rec_download = ($records['downloads']+1);
$sql = "UPDATE files SET downloads='$rec_download', date='$date' WHERE nom='$file'";


voici une autre méthode, plus simple, et à mon goût plus élégante ;)

$sql = "UPDATE files SET downloads=downloads+1, date='$date' WHERE nom='$file'";

Ainsi on laisse faire MySQL. Dans un script comme celui-ci, l'impact sur les performances est insignifiant, mais dans des traitements plus lourds, ça peut avoir son importance. Plus on en confie à MySQL, plus le script peut avancer rapidement.
Profil Citer
maverick

maverick

Messages : 619
Inscrit le : 04/04/2002
Posté le 15/09/2006 à 12:02:53 Message N°2 #
Hello,

Les deux versions se valent à mon avis. Dans le script, quelques lignes plus haut, on est obligé de vérifier l'existence de l'enregistrement correspondant au fichier que l'on veut télécharger. La requête
$request = "select * FROM files WHERE nom LIKE '$file'";
est lancée, quel que soit le cas. Les données sont donc disponibles pour le PHP.

Donc apres, de faire l'update dans MySQL ou via PHP, à mon avis, c'est kifkif ;)

Mais ça prouve que tu as décortiqué le code, et pour ça, merci 8D
____________________
image
Profil Citer

Navigation : Forums > Suggestions > "optimisation" compteur de downloads

Pages : 1 Poster un nouveau sujet Ajouter un message


Se rendre directement sur le forum :