Avatar billede pfp Nybegynder
14. marts 2004 - 22:01 Der er 12 kommentarer og
1 løsning

Topic subscription

Hej,

Jeg har et forum med følgende tabeller i min database:
- Users
- Threads

Tabellen Users indeholder informationer så som navn, e-mail om alle forummedlemmer.

I tabellen Threads har jeg alle tråde fra forummet, både maintopics og replies. Hver topic har et "Author" (int) felt med et reference til UserID i Users tabellen.

Jeg vil nu gerne lave noget e-mail notifikation. Så hver gang der bliver replied i en post vil jeg sende en e-mail til alle der deltager i tråden.

Mit spørgsmål går så på hvordan jeg gør det. Jeg ved godt hvordan jeg sender mailen, det er mere hvordan jeg får "fanget" de users der har deltaget i et topic.

Er der en der har nogle hints?

/pfp
Avatar billede ellebaek Nybegynder
14. marts 2004 - 22:18 #1
sql = "select email,id from users where id in(select distinct author from threads)"

så kan du så sætte flere forskellige where ting på i denne del af sql'en...
select distinct author from threads

fx.
select distinct author from threads where threadID = " & request("id") & ""
Avatar billede ellebaek Nybegynder
14. marts 2004 - 22:20 #2
skulle være et svar så...
Avatar billede pfp Nybegynder
14. marts 2004 - 22:27 #3
Hej,

Gælder det også i en mySQL database?

Jeg har modificeret SQL-sætningen sådan den passer med mine felter og tabeller:
SQL2 = "select Email, UserID FROM Users WHERE UserID in(Select DISTINCT Author from Threads)"

Men det giver mig flg. fejl:
[MySQL][ODBC 3.51 Driver][mysqld-4.0.12-nt]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'Select DISTINCT Author from Threads)' at line 1
Avatar billede ellebaek Nybegynder
14. marts 2004 - 22:42 #4
der er vidste noget med at distinct ikke virker i mySQL... øjeblik.
Avatar billede ellebaek Nybegynder
14. marts 2004 - 22:52 #5
næ... ifg. exp. så virker den...
men ellers så prøver vi...

sql = "select distinct Users.email, Users.UserID from users inner join Threads on Threads.Author = Users.UserID"
Avatar billede pfp Nybegynder
14. marts 2004 - 22:57 #6
Det sluger den heller ikke desværre :(

Den siger:
Unknown table 'Users' in field list

Kan ikke forstå hvorfor den opfatter Users som et "field" istedet for en "table"...mystisk..
Avatar billede ellebaek Nybegynder
14. marts 2004 - 23:06 #7
det skal jeg ikke kunne vide hvorfor... Er du sikker på at dine feltnavne er rigtige ?
Avatar billede pfp Nybegynder
14. marts 2004 - 23:14 #8
Ja helt sikker...
Avatar billede ellebaek Nybegynder
14. marts 2004 - 23:15 #9
sql = "select Users.email, Users.UserID from users inner join Threads on Threads.Author = Users.UserID"

Prøv den her, den bør virke.
Avatar billede pfp Nybegynder
14. marts 2004 - 23:18 #10
Samme fejl:
Unknown table 'Users' in field list

..hvad det så end skal betyde.
Avatar billede pfp Nybegynder
14. marts 2004 - 23:18 #11
Det må vel være fordi man joiner på en anden måde i mySQL?
Avatar billede pfp Nybegynder
15. marts 2004 - 00:28 #12
SQL2 = "Select DISTINCT Users.Email FROM Users INNER JOIN Threads ON Users.UserID = Threads.Author"

Sådan her virker det..
Avatar billede pfp Nybegynder
15. marts 2004 - 10:08 #13
Så det var bare Users.UserID og Threads.Author der skulle byttes om.
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