Veuillez vous connecter ou créer un compte pour suivre ce topic
Ce topic est suivi par: Florian, jeannot_gates
Auteur Sujet: compteur de téléchargement en php avec la fonction pdo

jeannot_gates

Messages: 41

bonjour primfx c'est jeannot je t'écris depuis le cameroun j'aimerai s'il te plait si tu pouvait nous faire un tuto comment tu nous montre comment faire un compteur de téléchargement c'est un peu urgent. Et j'adore tes tutos continue ainsi et merci pour tous ce que tu fais pour les apprentis webmaster que  nous somme
Publicité

Florian

Messages: 73

Humm, je voit pas ou tu as un problème un peu de raisonnement,

Ta page pour télécharger imaginons c'est www.tonsite.fr/download?id=10
 Dés qu'une personne clique dessus ça va download le fichier, et tu as juste a ajouter +1 a ta table download imaginons que ta table soit comment ça

id-download

ID = 10 ( pour l'exemple )
download = un INT
dés qu'une personne clique tu fait ça update tatable set tacolonne = tacolonne+1 where id = 10 et voila tu as un compteur 

Si tu n'as pas trop compris je peux te faire ça avec une table x)

Nobodief

Messages: 73

Salut, lorsque du souhaite un compteur comme la dit Florian, tu utilise une update en indiquant la valeur actuel+1.
$bdd->query('UPDATE tabase SET download=download+1 WHERE id = ?');

Dwardower

Messages: 121

download = un INT
Petite remarque Tire la langue
download = decimal
un int est plus destiné à l’indexions des données alors que décimal lui est fait pour ce genre de choses Clin d'oeil
Je ne dis pas que ce n'est pas possible de mettre un int mais que decimal est fait pour ça dans les bdd Clin d'oeil

Florian

Messages: 73

@Dwardower Tu n'as pas tord, mais j'ai fait ça assez vite pour qu'il comprennent comment faire après a lui de faire comme il le veux Clin d'oeil 

Dwardower

Messages: 121

@Florian oui je suis d'accord Tire la langue

jeannot_gates

Messages: 41

bonjour florian si cela ne te dérange pas pourais-tu  s'il te plait envoyer le code complet cela me ferrais beacoup de bien merci d'avence. je voudrais almeliorer les fonctionnalité de mon site qui est pour l'instant un peut laid voici le lien si cela t'interresse [url=http://www.thelifestore.net]thelifestore.net
[/url]

Florian

Messages: 73

@jeannot_gates Je pourrais avoir un screen de la base de donnée ?

jeannot_gates

Messages: 41

voici une comment ce presente ma table
-- Création de la table : 'downloads_files'CREATE TABLE downloads_files (
filename VARCHAR(255) NOT NULL, -- je suppose que chaque fichier est unique ;o)
downloaded INT(5) NOT NULL DEFAULT 0, -- par défaut, téléchargé 0 fois

PRIMARY KEY(filename)
) Type = MyISAM;
j'espere que c'est suffisant ?

Florian

Messages: 73

$nbrdevue = $bdd->query('UPDATE downloads_files SET downloaded=downloaded+1 WHERE filename = ?');
$nbrdevue->execute(array($filename));
Imaginons que en haut tu récup le nom du download est $filename et que ta config ou y'a la connexion a la BDD est nomée $bdd

jeannot_gates

Messages: 41

ja t'envois la base de mon code que j'avais deja fait
$filesdir = '../documents/fichiers/'; // le chemin relatif où sont stockés les fichiers (si pas mis dans la base)
// Récupération du fichier passé en paramètre
$filename = (isset($_GET['f']));

if ($filename != '') // si la variable est non vide
{
on vérifie que le fichier existe bien
if ((file_exists($filesdir . $filename)) && (is_file($filesdir . $filename)))
{
// Le fichier existe bien : on va incrémenter son compteur de téléchargements
$req_augmenterdownload = "UPDATE downloads_files
SET
downloaded = (downloaded+1)
WHERE
filename='".$filename."';";

// maintenant on exécute la requête
$req->query($req_augmenterdownload) ;

// requête effectuée : on envoie le fichier
header("Location: ".$filesdir . $filename);

};
};

jeannot_gates

Messages: 41

je vais réecrire mon code en m'inspirent du tien merci et bonne continuation Clin d'oeil


Veuillez vous connecter ou créer un compte pour poster une réponse