hallo,

ik ben op dit moment bezig om een website voor een vriend/collega te maken. hij is bezig met muziekmixen en wil die graag delen op het net, maar het probleem is dat hij niet zoveel dataverkeer heeft.
daarom zat ik te denken aan een download limiter.
bijv, als een bestand vandaag 10x is gedownload dat er dan bijv. een melding word weergeven in de trant van 'morgen weer een dag'.
ik hoop dat jullie een beetje snappen wat ik zoek en ik hoop dat jullie mij een zetje in de goeie richting kunnen geven.

alvast bedankt!
alle nummers in een db zetten en daarbij een apart veld met het aantal downloads voor vandaag.
dus dan zou de link naar de download gelijk iets van insert into db worden waarmee de download 1 omhoog gaat,
maar dan is het toch eigenlijk een soort counter?
ja precies.
Je tabel:
Nummer: Downloads:
Blabla Remix 2

en dan in je script dus
UPDATE tabel SET downloads=downloads+1 WHERE nummer = "Blabla Remix"

En dan zou je ergens nog kunnen zetten als het 12 uur is , dat ie Downloads weer op 0 zet.
Het is handiger als je de download een DATE veld geeft in je tabel. Dan hoef je niets op nul te zetten. Je hoeft alleen maar

SELECT COUNT(id) AS aantal
FROM tabel
WHERE datum = CURDATE()

te doen om het aantal downloads van vandaag op te halen.
dan heb ik eigenlijk nog steeds alleen een teller, ik wil zeg maar nadat het bestand bijv. 10x is gedownload dat je dan niet meer kan downloaden die dag en dat de volgende dag je weer kan downloaden...
@Jan, dat is inderdaad nog beter, maar wordt je database wel voller.

@ Aftertoucher: Dat kan dus op die manier. Jij haalt het getal van downloads op uit je db en controleert dat.
als getal lager is dan 10: Download
als getal is 10 of hoger: Morgen kan je weer downloaden
Turmin schreef op 31.08.2006 21:33
@Jan, dat is inderdaad nog beter, maar wordt je database wel voller.


Dit soort databases kunnen met gemak miljoenen records aan. Dus dat regeltje meer of minder zal niet veel uit maken ;-)
Turmin schreef op 31.08.2006 21:33

@ Aftertoucher: Dat kan dus op die manier. Jij haalt het getal van downloads op uit je db en controleert dat.
als getal lager is dan 10: Download
als getal is 10 of hoger: Morgen kan je weer downloaden


kan je daar een voorbeeldje van geven? ik ben er niet zo handig in...

kan je daar een voorbeeldje van geven? ik ben er niet zo handig in...

Ik heb even snel iets in elkaar gezet. Het kan vast beter, maar het werkt. Het reset gedeelte zit erin voor het testen, dat zal je er beter even uit kunnen halen als je het gebruikt :P
Voorbeeld:
http://phphulp.turmin.com/downloads.php
Source:
http://phphulp.turmin.com/downloads.phps
SQL:

CREATE TABLE `downloads` (
  `nummer` varchar(255) NOT NULL,
  `aantal` tinyint(4) NOT NULL default '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO `downloads` VALUES ('Remix1', 0);
INSERT INTO `downloads` VALUES ('Remix2', 0);


[edit]
Hier zit dus niks met datum in. Dan zou je nog even een veld moeten maken en vullen met NOW() maar nou geen meer tijd voor. Misschien morgenavond of dat iemand anders het af kan maken.
[/edit]
Dit soort databases kunnen met gemak miljoenen records aan.


Nouja. Niet echt met gemak, maar het zal vast wel kunnen :)

Reageren