08. marts 2005 - 23:33Der 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.
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.
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
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?
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?
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…
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)
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.
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
Synes godt om
Ny brugerNybegynder
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.