Avatar billede newbie.dk Praktikant
08. marts 2005 - 23:33 Der er 10 kommentarer og
2 løsninger

Afsende 2 x 200 mails - derefter en mail med andet indhold

Jeg har lavet en tilmeldingsformular.
I denne kan man tilmelde sig to arrangementer to steder i landet. Men der er begrænset antal billetter.
Disse tilmeldinger kommer i samme tabel i databasen. Og man får en bekæftigelses-mail ved tilmelding.

Det jeg gerne vil have hjælp til er, at når de første 200 billetter er væk til det ene arrangement, så får de der tilmelder sig dette arrangement herefter en mail ang. at alle billetter er væk, men hvis der er afbud, eller der kommer flere arrangementer vil de få besked osv.

Men ved det andet arrangementer kan der godt være billetter tilbage, så her skal det bare kører videre endtil max er noget.

Løsningen på dette problem kan mit hoved desværre ikke rumme, så jeg håber der er nogle der kan hitte hoved og hale i dette.

Jeg synes jo opgaven er ret svær, så derfor lidt ekstra point.
Avatar billede newbie.dk Praktikant
08. marts 2005 - 23:37 #1
Undskyld, men der er faktisk 3 tilmeldingsmuligheder, men de afholdes to steder.
Altså man kan vælge mellem 3, men der er kun 2 x 200 billetter til at starte med.
Avatar billede fennec Nybegynder
09. marts 2005 - 08:12 #2
Det ville hjælpe hvis du gav nogle oplysninger om database opbygning :o)

Anyway her er et gæt på hvordan du gør:
set rs = conn.execute("select count(*) from BookTabel where place="& request.form("placeID"))
if rs(0) > 200 then
  'email at der er fuldt booket
else
  'email at alt er ok.
end if
Avatar billede newbie.dk Praktikant
09. marts 2005 - 16:27 #3
Jeg ved ikke lige hvad jeg skal fortælle om databasen. Det hele ligger i en database og skulle gerne puttes ind i samme tabel, det var i hvert fald meningen. Men tror du det ville være nemmere/bedre hvis oplysningerne blev lagt ind i hver sin tabel?
Avatar billede newbie.dk Praktikant
09. marts 2005 - 23:44 #4
Jeg ved ikke lige ang. at skelle det i to tabeller. Senere i forløbet skal hver af de tilmeldte updatere nogle oplysninger, det kan vel give problemmer hvis der skal søges i to tabeller, eller?
Avatar billede fennec Nybegynder
10. marts 2005 - 08:22 #5
Det bedste er at smide det hele i en tabel. Så har du også kø kulturen, hvis nogen skulle hoppe fra.

Angående mail, så var min løsning jo bare at lave en count på tabellen. Hvis resultatet er over 200, er der fuldt booket.
Avatar billede newbie.dk Praktikant
11. marts 2005 - 00:19 #6
Godt. Det forbliver i en tabel.
Men den der betingelse driller mig nu lidt. Jeg laver lige en kort beskrivelse så du måske kan se hvor det går galt.

Jeg har kun lavet én tilmeldingsformular. I denne skal man taste nogle oplysninger. Vigtigt med valg af BY: by0, by1, by2 eller by3.
By0, by1 og by2 modtager samme mail, om afholdelsessted mm. By3 modtager en anden mail med cirka samme oplysninger.
Betingelsen skal så tjekke om man har valgt by0, by1, by2 eller by3. Hvis man har valgt by0 eller by1 eller by2 skal den tæller alle forekomster i db'en hvor disse indgår og lægge dem sammen og hvis tallet er over 200 så sendes en mail med "desværre"... og under 200 så "juhuu".
Men hvis man så har valgt by3 - tælles disse forekomster i db'en, og det samme går i gang som skete ved by0, by1 og by2.

Jeg kan desværre ikke finde ud af at få disse betingelser flettet sammen. Håber du kan hjælpe.
Jeg har lavet koden til indsættelse af data i db’en, og afsendelsen af mail. Men så er det lige det med at få sat de rigtige betingelser op. Puha…
Avatar billede newbie.dk Praktikant
16. marts 2005 - 12:01 #7
Jeg tror jeg lukker spm'et i løbet af dagen.
Avatar billede fennec Nybegynder
21. marts 2005 - 08:21 #8
Det bliver du nød til at hardcode dig ud af. Du du kun skal have 2 forskellige selects kan du gøre sådan:

if request.form("by") = "by3" then
  set rs = conn.execute("select count(*) from BookTabel where by = 'by3'")
  mailBodyOK = "Dette skal stå i den ene mail hvis OK"
  mailBodyNOT = "Dette skal stå i den ene mail hvis IKKE OK"
else
  set rs = conn.execute("select count(*) from BookTabel where by <> 'by3'")
  mailBodyOK = "Og dette skal stå i den anden mail hvis OK"
  mailBodyNOT = "Og dette skal stå i den anden mail hvis IKKE OK"
end if

if rs(0) > 200 then
  send mailBodyNOT..
else
  send mailBodyOK..
end if

ps. er lige kommet hjem fra skiferie, så jeg undskylder at jeg ikke har svaret tidligere :o)
Avatar billede newbie.dk Praktikant
29. marts 2005 - 11:13 #9
Okay, jeg har fundet på en andet løsning som ikke kræver så meget. Det var lidt nemmere.
Men lig et svar, så du kan få lidt point.
Avatar billede fennec Nybegynder
29. marts 2005 - 11:16 #10
Kunne da godt tænke mig at høre hvordan du har gjort :o)
Avatar billede newbie.dk Praktikant
29. marts 2005 - 13:49 #11
Jeg delte det op, så jeg har to formulare. Ikke helt optimalt, men det var noget der skulle gå hurtigt, så jeg valgte den hurtige løsning.
Jeg giver dig 100 point for forsøget. Mange tak.
Avatar billede fennec Nybegynder
29. marts 2005 - 13:55 #12
Så siger jeg da tak. Du smider bare en besked herinde hvis/når du vil prøve at samle det i en formular igen, så skal jeg nok være her...

.o) <-- One Eyed Jack
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
Kurser inden for grundlæggende programmering

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