Avatar billede cronaldo Nybegynder
14. januar 2010 - 00:51 Der er 2 kommentarer og
1 løsning

bonuskode-system... query-opbygning , hvordan?

Hej, eksperter!

Mit problem består i, at jeg skal bruge en mysql-query udfra flg. tabeller:

bonusCodes
--------------
id
code
users
maxinvoices
maxusers
activefrom
activeuntil
forfatter
dato


usedBonusCodes
---------------
id
codeid (henviser til bonusCodes.id)
fakturaid
forfatter
dato


det, jeg gerne vil, er, at jeg i bonusCodes vil kunne tilføje forskellige parametre, der kan gøre en bonuscode valid.

users = hvis jeg vil have, at en specifik bruger, skal have tilbuddet, skriver jeg dennes id - hvis det skal være alle brugere er den blot 0
maxinvoices = det maksimale antal forskellige ordrer, som en bruger må benytte SAMME kode på
maxusers = det maksimale antal forskellige brugere der må bruge koden éen gang

activeuntil og activefrom skal gælde for "users" og maxinvoices således, at disse kun gælder hvis activeuntil < now() og activefrom > now()

maxusers skal dog kunne kombineres med, at tilbudet ikke er tidsbegrænset - således at det fx kan være de første 10 brugere i en ikke afgrænset periode :)'

Er der nogen, der kan hjælpe mig med en query til det :) ?
Avatar billede cronaldo Nybegynder
14. januar 2010 - 00:57 #1
det, der ydermere er meningen med query'en er, at den skal counte returnere id'et på bonuscode'en hvis brugeren IKKE har benyttet koden det maksimale antal gange efter ovenstående grænser :)
Avatar billede cronaldo Nybegynder
14. januar 2010 - 04:44 #2
Uddybning:

Altså, således at hvis jeg indtaster:
maxinvoices = 0
maxusers = 10
activefrom = 0000-00-00 00:00:00
activeuntil = 0000-00-00 00:00:00
Vil denne kode kunne bruges én gang af 10 unikke brugere


indtaster jeg derimod:
maxinvoices = 2
maxusers = 0
activefrom = 2010-01-13 00:00:00
activeuntil = 2010-01-02 00:00:00
vil koden kunne bruges af HVER bruger på 2 fakturaer - dog ikke på samme faktura to gange :)


og indtaster jeg så:
activefrom = 2010-01-13 00:00:00
activeuntil = 2010-01-02 00:00:00

Så vil koden være tilgængelig for alle brugere én gang på hver faktura i denne tidsperiode



fakturatabellen's unikke felt hedder "id" og er koblet sammen med systemet på usedBonusCodes.fakturaid
Avatar billede cronaldo Nybegynder
14. januar 2010 - 21:02 #3
lukker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester