Hoe limiteer je een toevoeging in db?

ik ben bezig met een premium user systeem in PHP, en ik wil hebben dat als iemand een account registreert hij niet meer dan bijv. 5 downloads kan toevoegen(wordt opgeslagen in de database), en als hij meer wil toevoegen moet de gebruiker een premium account aanschaffen. enig idee hoe ik dit het beste kan doen met PHP en MYSQL?

ik ben een beginner en nog niet zo gevorderd met PHP.

Alvast bedankt!!

Weet jij het antwoord?

/2500

Het beste antwoord

Zorg ervoor dat elke gebruiker in de database een column heeft met daarin een standaard waarde van 0, en van het data type tiny integer (tenzei je verder dan 255 wil kunnen tellen, dan kun je beter een integer gebruiken). Als iemand dan vraagt voor een download, dan zorg je er eerst voor dat je in de database kijkt, of de desbetreffende gebruiker al meer dan 5 downloads heeft. Dat kan op deze manier: $sql = "SELECT * FROM tabel_gebruiker WHERE gebruiker_id = ".$gebruiker_id." AND downloadCount <= 5;"; $result = mysql_query($sql); if(mysql_num_rows($result) != 0) { mysql_query("UPDATE tabel_gebruiker SET downloadCount = downloadCount + 1 WHERE gebruiker_id = ".$gebruiker_id.";"); //Hier stuur je de download. } else { //Hier verwijs je naar een "word premium" pagina. } In de sql statement vraag ik naar alle rijen, met de desbetreffende gebruiker ID, die minder dan 5 downloads heeft. Als hij er 1 vind, dan heeft hij dus minder dan 5 downloads, en als hij er 0 vind, dan heeft hij dus meer. Voordat je de download stuurt, zorg je ervoor dat er 1 download in de tabel wordt opgeteld, en daarna kun je de file sturen. Let wel op dat je de variabele die mee gaan in de query, eerst "escapt", om sql injectie te voorkomen. Toegevoegd na 1 minuut: Ik heb de code trouwens uit losse hand geschreven, dus het kan best dat hij niet helemaal werkt.*

Stel zelf een vraag

Ben je op zoek naar het antwoord die ene vraag die je misschien al tijden achtervolgt?

/100