Po co tak komplikować?
Starczy jedna tabela:
CREATE TABLE `pobrania` (
`id_hasla` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`haslo` TINYINT NOT NULL ,
`uzytkownik` TINYINT NOT NULL ,
`max_pobran` SMALLINT NOT NULL ,
`aktualnie_pobrano` SMALLINT NOT NULL DEFAULT '0'
) ENGINE = MYISAM
Tworzysz nowe hasło dla użytkownika:
<?php
$sql = 'INSERT INTO `pobrania` (`id_hasla`, `haslo`, `uzytkownik`, `max_pobran`) VALUES (NULL, "Hasło", "'.$identyfikatorUzytkownika.'", "'.$maksymalnaIloscWyswietlen.'");';
?>
tłumaczyć chyba nie trzeba?
Następnie każdorazowe kliknięcie do linku z download sprawdzać w bazie danych, czy ilość aktualnych pobrań jest mniejsza niż maksymalna ilość pobrań.
Jeżeli liczba aktualnych pobrań równa się maksymalnej liczbie pobrań, to rekord z danym hasłem zostaje usunięty z bazy danych.