22. maj 2007 - 14:02Der er
19 kommentarer og 1 løsning
Finde emails til nyhedsmail i anden tabel
Hejsa
Jeg har et system, hvori jeg skal sende en opgørelse ud til de brugere, hvis konto ikke er 0.
Mit problem er bare at brugerens email ligger i en anden tabel kaldet tbl_user. Dvs. at først skal alle brugerne, hvis konto er forskellig fra 0 udvælges og derefter skal deres emailadresser så hentes i tbl_user, hvor login_id i tbl_user er det samme som login_id i tbl_konto.
Håber i forstår hvad jeg mener.
Jeg har nedenstående kode, hvori jeg mangler at få valgt emailen. ---------------------------------- strSQL = "SELECT konto_ialt from tbl_konto where konto_ialt <> 0" Set res = Conn.Execute(strSQL)
if request.Form("TestMail") = "ON" then arrEmail = request.form("TestMailAdr") else arrEmail = res.GetRows() end if
For num = 0 to Ubound(arrEmail,2) objMail.AddRecipient(arrEmail(0, num)) objMail.HTMLBody = "<html><head><title></title></head><body vlink='#666666' link='#000000' bgcolor='#ffffff'>Dette er din Soccerzone faktura. Du skylder: " & res("konto_ialt") &"kr.</body></html>"
If objMail.Execute Then Response.Write "<font color=green>" & arrEmail(0, num) & " (" & num & ") OK</font><br>" Else Response.Write "<font color=red>" & arrEmail(0, num) & " (" & num & ") FEJL</font><br>" End If objMail.ClearRecipients Next Set objMail = Nothing
kan jo se linjen er magen til det jeg skrev tidligere.. så er du sikker på at kolonnenavnet hedder email som jeg har skrevet? kolonnenavnene skal selvfølgelig findes i din database for at den virker
strSQL = "SELECT email,konto_ialt from tbl_user,tbl_konto where konto_ialt <> 0 and tbl_user.login_id = tbl_konto.login_id" Set res = Conn.Execute(strSQL)
if request.Form("TestMail") = "ON" then arrEmail = request.form("TestMailAdr") else arrEmail = res.GetRows() end if
For num = 0 to Ubound(arrEmail,2) objMail.AddRecipient(arrEmail(0, num)) objMail.HTMLBody = "<html><head><title></title></head><body vlink='#666666' link='#000000' bgcolor='#ffffff'>Dette er din Soccerzone faktura. Du skylder: " & res("konto_ialt") &"kr.</body></html>"
If objMail.Execute Then Response.Write "<font color=green>" & arrEmail(0, num) & " (" & num & ") OK</font><br>" Else Response.Write "<font color=red>" & arrEmail(0, num) & " (" & num & ") FEJL</font><br>" End If objMail.ClearRecipients Next Set objMail = Nothing ---------------------------------------------- Gør jeg noget galt her?
ja, men må indrømme, at jeg ikke kan se hvorfor du først hiver det over i et array... nemmest er bare at løbe "res" igennem som er et resultset.. altså en masse rækker med 2 kolonner (email og konto_ialt) og det er jo lige præcis disse du gerne vil have udskrevet:)
hvis det er denne sql vi blev enige om strSQL = "SELECT email,konto_ialt from tbl_user,tbl_konto where konto_ialt <> 0 and tbl_user.login_id = tbl_konto.login_id"
så skal den bare se sådan ud
strSQL = "SELECT email,konto_ialt,tbl_user.navn from tbl_user,tbl_konto where konto_ialt <> 0 and tbl_user.login_id = tbl_konto.login_id"
hvis du ikke få navn ud med den så bare skriv den sådan her
strSQL = "SELECT email,konto_ialt,tbl_user.navn as navn from tbl_user,tbl_konto where konto_ialt <> 0 and tbl_user.login_id = tbl_konto.login_id"
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.