Hej! Du är allt ett hopplöst fall. Tycker om dig ändå. ;O)<br> Tackar för att du hjälper en sådan liten stackare som mig :-) Det borde du kuna lösa själv: Tja, fattar inte vad jag gorde innan. Testade ju det. Ja ja. Men visst det var ju det som var felet. Som du ser i felmedelandet saknas Session("Mail_User_ID"). Avsändarens ID nummer. Inte konstigt att det inte funkade skulle ju vara Session("id"). *jag är så dum så dum* Testa: Först ändrade jag till Session("id") som jag använder sedan testade jag men fick då detta felmeddelande: Har missat den avslutande parantesen: Nu får jag inga felmeddelanden i alla fall. Men det funkar inte riktigt som det skall... eller dett funkar faktiskt inte alls. För när jag försöker skicka mail till någon som inte har "1" (som är mitt id) i sin medlemmar.Blocked_Users så skickas inget mail. Kikade på MySQL.org. Ska vara % istället för *. Finns en funktion som heter CONCAT(). Bör det inte ändras lite i den andra Select-raden också då? Jag missade att ändra den SQL satsen. Verkar inte som vi kommer så mycket längre med den koden du knåpade ihop så flitigt. OK! jag har jätt upp hoppet nu! Jag skall använda en tabell istället Tabellen skall heta relationer och skall innehålla: Är det inte bättre att ange vilken typ av relation det är i ett separat fält?Blocka om id ligger i tabell (typ: 1, 23, 7, 9)
Jag jobbar med en sida på vilken det skall finnas ett internt mailsystem (community mail). På en sida kan man även lägga till användare som vänner eller som ovänner. Väljer man att lägga till en användare som vän så läggs användarens id in i tabellen medlemmar.favorit_users väljer man att lägga till användaren i ovännslistan så läggs idnummret in i tabellen medlemmar.blocked_users. Är tabellen tom när man lägger till användare så läggs bara idnummret till annars läggs även ett komma till.
De användare som man har som ovänner skall inte kunna skriva mail till en, de skall altså blockas.
Systemet för detta har jag hittat i ett exempel här ute på nätet. Men nu när jag gör om det från Access till MySQL och lite andra ändringar så fungerar det inte riktigt längre.
asp-dokumentet jag har problem med är det som när man valt att skicka till en medlem skall se efter om den medlem som man vill skicka till har ens eget idnummer i sin ovännstabell.
Så här såg det orginal-dokument ut som jag laddat hem:
<code>
<%
Dim strReplyTo
Dim arrReplyTo
Dim I
' #### BEGIN ## Find selected users and check if they have the current user on the blocked list ####
Accepted_Users=""
Blocked_Users=""
Set rs = Server.CreateObject("ADODB.RecordSet")
SQL_Str="SELECT User_ID, Blocked_Users FROM Users WHERE User_ID IN ("&Session("Mail_NewMail_Namelist")&") ORDER BY Username"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("MailSystem.mdb")
rs.Open SQL_Str, strDSN, 1, 1
If Not rs.EOF Then
alldata=rs.getrows
rs.close
Set rs=nothing
numcols=ubound(alldata,1)
numrows=ubound(alldata,2)
For rowcounter=0 TO numrows
Str_User_ID=alldata(0,rowcounter)
Str_Blocked_Users=","&alldata(1,rowcounter)&","
If InStr(Str_Blocked_Users,","&Str_User_ID&",")<>0 Then
Blocked_Users=Blocked_Users&Str_User_ID&","
else
Accepted_Users=Accepted_Users&Str_User_ID&","
end if
Next
else
rs.close
Set rs=nothing
end if
If Not Accepted_Users="" Then Accepted_Users=Left(Accepted_Users,Len(Accepted_Users)-1) end if
If Not Blocked_Users="" Then Blocked_Users=Left(Blocked_Users,Len(Blocked_Users)-1) end if
' #### BEGIN ## Find selected users and check if they have the current user on the blocked list ####
' #### BEGIN ## Send mail to those users who doesn't have current user on blocked list ####
If Not Accepted_Users="" Then
arrReplyTo = Split(Accepted_Users, ",", -1, 1)
For I = LBound(arrReplyTo) To UBound(arrReplyTo)
Set rs = Server.CreateObject("ADODB.Recordset")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("MailSystem.mdb")
rs.Open "Mails", strDSN, 3, 4
rs.AddNew
rs("Receiver_ID") = arrReplyTo(I)
rs("Sender_ID") = Session("Mail_User_ID")
rs("Status") = Session("Mail_NewMail_Status")
rs("Sendt_Date_Time") = FormatDateTime(Date(), 0) & " " & FormatDateTime(Time(), 3)
rs("Folder") = 1
rs("Subject") = Session("Mail_NewMail_Subject")
rs("Message") = Session("Mail_OrginalMessage")
rs.UpdateBatch
rs.close
set rs=nothing
Next
end if
' #### BEGIN ## Send mail to those users who doesn't have current user on blocked list ####
Session("Mail_NewMail_Subject")=""
Session("Mail_NewMail_Status")=""
Session("Mail_OrginalMessage")=""
Response.Redirect "Mail_Mail_Sendt.asp?NotSentTo='" & Blocked_Users&"'"
%>
</code>
Men för att få det att fungera till min sida så har jag varit och ändrat lite.
Jag har dock inte fått det som ligger mellan de två
"<code>' #### BEGIN ## Find selected users and check if they have the current user on the blocked list ####</code>"
att fungera. Det går nämligen att skicka till användare som har en själv som ovän.
Jag tror att det är så att det där "Str"-som mycket börjar på i koden att inte det funkar med MYSQL. Men jag vet ej hur jag skall ändra för att få det att funka.
Så här ser den koden jag nu använder ut, men den fungerar som sakt inte som den skall:
<code>
<%
Dim strReplyTo
Dim arrReplyTo
Dim I
' #### BEGIN ## Find selected users and check if they have the current user on the blocked list ####
Accepted_Users=""
Blocked_Users=""
Set rs = Server.CreateObject("ADODB.RecordSet")
SQL_Str="SELECT id, Blocked_Users FROM medlemmar WHERE id IN ("&Session("Mail_NewMail_Namelist")&") ORDER BY Username"
strDSN = "lumba"
rs.Open SQL_Str, strDSN, 1, 1
If Not rs.EOF Then
alldata=rs.getrows
rs.close
Set rs=nothing
numcols=ubound(alldata,1)
numrows=ubound(alldata,2)
For rowcounter=0 TO numrows
Str_User_ID=alldata(0,rowcounter)
Str_Blocked_Users=","&alldata(1,rowcounter)&","
If InStr(Str_Blocked_Users,","&Str_User_ID&",")<>0 Then
Blocked_Users=Blocked_Users&Str_User_ID&","
else
Accepted_Users=Accepted_Users&Str_User_ID&","
end if
Next
else
rs.close
Set rs=nothing
end if
If Not Accepted_Users="" Then Accepted_Users=Left(Accepted_Users,Len(Accepted_Users)-1) end if
If Not Blocked_Users="" Then Blocked_Users=Left(Blocked_Users,Len(Blocked_Users)-1) end if
' #### BEGIN ## Find selected users and check if they have the current user on the blocked list ####
' #### BEGIN ## Send mail to those users who doesn't have current user on blocked list ####
If Not Accepted_Users="" Then
arrReplyTo = Split(Accepted_Users, ",", -1, 1)
For I = LBound(arrReplyTo) To UBound(arrReplyTo)
Dim objConn
Dim strSQL
Dim rs
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "lumba"
strSQL = "INSERT INTO mails SET Receiver_ID = '"&arrReplyTo(I)&"', Sender_ID = '"&Session("id")&"', Status = '"&Session("Mail_NewMail_Status") &"', Sendt_Date_Time = '"&FormatDateTime(Date(), 0) & " " & FormatDateTime(Time(), 3)&"', Folder = 1, Subject = '"&Session("Mail_NewMail_Subject")&"', meddelande = '"&Session("Mail_OrginalMessage")&"'"
objConn.Execute(strSQL)
Set rs = Nothing
objConn.Close
Set objConn = Nothing
Next
end if
' #### BEGIN ## Send mail to those users who doesn't have current user on blocked list ####
Session("Mail_NewMail_Subject")=""
Session("Mail_NewMail_Status")=""
Session("Mail_OrginalMessage")=""
Response.Redirect "Mail_Mail_Sendt.asp?NotSentTo='" & Blocked_Users&"'"
%></code>Sv: Blocka om id ligger i tabell (typ: 1, 23, 7, 9)
<br>
Har gjort en lite anorlunda variant. Där jag filtrerar i frågan. Själv skulle jag gjort en tabell för Blocked:
<code>
<%
Function SQLDate(Value)
If IsDate(Value) Then
SQLDate = "#" & Month(Value) & "/" & Day(Value) & "/" & Year(Value) & " " & Hour(Value) & ":" & Minute(Value) & ":" & Second(Value) & "#"
Else
SQLDate = "Null"
End If
End Function
Function SQLText(Value)
If Len(Value) > 0 Then
SQLText = "'" & Replace(Value, "'", "''") & "'"
Else
SQLText = "Null"
End If
End Function
Function SQLNumber(Value)
If IsNumeric(Value) Then
SQLNumber = Replace(Value, ",", ".")
Else
SQLNumber = "Null"
End If
End Function
Dim rs
Dim con
Dim strSQL
Dim Blocked_Users
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("MailSystem.mdb")
Set con = Server.CreateObject("ADODB.Connection")
con.Open strDSN
strSQL = "SELECT User_ID" & vbCrLf & _
"FROM Users" & vbCrLf & _
"WHERE User_ID IN (" & Session("Mail_NewMail_Namelist") & ") AND " & vbCrLf & _
"',' & Blocked_Users & ',' LIKE '*," & SQLNumber(Session("Mail_User_ID")) & ",*'
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strSQL, con
If Not rs.EOF Then
Blocked_Users = rs.GetString(, , , ",")
End If
rs.Close
strSQL = "INSERT INTO Mails (Receiver_ID, Sender_ID, Status, Sendt_Date_Time, Folder,Subject, Message" & vbCrLf & _
"SELECT User_ID, " & vbCrLf & _
SQLNumber(Session("Mail_User_ID")) & ", " & vbCrLf & _
SQLNumber(Session("Mail_NewMail_Status")) & ", " & vbCrLf & _
SQLDate(Now()) & ", " & vbCrLf & _
"1, " & vbCrLf & _
SQLText(Session("Mail_NewMail_Subject")) & ", " & vbCrLf & _
SQLText(Session("Mail_OrginalMessage")) & ", " & vbCrLf & _
"FROM Users" & vbCrLf & _
"WHERE User_ID IN (" & Session("Mail_NewMail_Namelist") & ") AND " & vbCrLf & _
" NOT ',' & Blocked_Users & ',' LIKE '*," & SQLNumber(Session("Mail_User_ID")) & ",*'
con.Execute strSQL
con.Close
Session("Mail_NewMail_Subject") = ""
Session("Mail_NewMail_Status") = ""
Session("Mail_OrginalMessage") = ""
Response.Redirect "Mail_Mail_Sendt.asp?NotSentTo='" & Blocked_Users & "'"
%>
</code> Sv: Blocka om id ligger i tabell (typ: 1, 23, 7, 9)
...Det är guld värt.
Får felmeddelanden när jag kör sidan (pilen pekar på slutet av raden):
Kompileringsfel i Microsoft VBScript fel '800a0409'
Oavslutad strängkonstant
/sidan/skicka_mail.asp, rad 38
"',' & Blocked_Users & ',' LIKE '*," & SQLNumber(Session("Mail_User_ID")) & ",*'
--------------------------------------------------------------------------------^
Även i den andra select-strängen verkar det vara samma fel. Jag försökte sätta dit några extra fnuttar men fick inte till det.Sv: Blocka om id ligger i tabell (typ: 1, 23, 7, 9)
<code>
" NOT ',' & Blocked_Users & ',' LIKE '*," & SQLNumber(Session("Mail_User_ID")) & ",*'"
</code>
Saknades ett " på slutet.Sv: Blocka om id ligger i tabell (typ: 1, 23, 7, 9)
Men får nu ett annat felmeddelande som jag inte vet hur jag skall handskas med.
FELMEDDELANDET:
Microsoft OLE DB Provider for ODBC Drivers fel '80040e09'
[MySQL][ODBC 3.51 Driver][mysqld-3.23.52]You have an error in your SQL syntax near 'SELECT id , , 51, '2002-9-18 1:50:12', 1, 'text', 'text', FROM med' at line 2
/community1/aaa/111/skicka_mail.asp, rad 60
På rad 60 står con.Execute strSQL
KODEN SER NU UT PÅ DETTA VIS:
<code><%
Function SQLDate(Value)
If IsDate(Value) Then
SQLDate = "'" & Year(Value) & "-" & Month(Value) & "-" & Day(Value) & " " & Hour(Value) & ":" & Minute(Value) & ":" & Second(Value) & "'"
Else
SQLDate = "Null"
End If
End Function
Function SQLText(Value)
If Len(Value) > 0 Then
SQLText = "'" & Replace(Value, "'", "''") & "'"
Else
SQLText = "Null"
End If
End Function
Function SQLNumber(Value)
If IsNumeric(Value) Then
SQLNumber = Replace(Value, ",", ".")
Else
SQLNumber = "Null"
End If
End Function
Dim rs
Dim con
Dim strSQL
Dim Blocked_Users
strDSN = "lumba"
Set con = Server.CreateObject("ADODB.Connection")
con.Open strDSN
strSQL = "SELECT id" & vbCrLf & _
"FROM medlemmar" & vbCrLf & _
"WHERE id IN (" & Session("Mail_NewMail_Namelist") & ") AND " & vbCrLf & _
"',' & Blocked_Users & ',' LIKE '*," & SQLNumber(Session("Mail_User_ID")) & ",*'"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strSQL, con
If Not rs.EOF Then
Blocked_Users = rs.GetString(, , , ",")
End If
rs.Close
strSQL = "INSERT INTO mails (Receiver_ID, Sender_ID, Status, Sendt_Date_Time, Folder,Subject, Message" & vbCrLf & _
"SELECT id , " & vbCrLf & _
SQLNumber(Session("Mail_User_ID")) & ", " & vbCrLf & _
SQLNumber(Session("Mail_NewMail_Status")) & ", " & vbCrLf & _
SQLDate(Now()) & ", " & vbCrLf & _
"1, " & vbCrLf & _
SQLText(Session("Mail_NewMail_Subject")) & ", " & vbCrLf & _
SQLText(Session("Mail_OrginalMessage")) & ", " & vbCrLf & _
"FROM medlemmar" & vbCrLf & _
"WHERE id IN (" & Session("Mail_NewMail_Namelist") & ") AND " & vbCrLf & _
" NOT ',' & Blocked_Users & ',' LIKE '*," & SQLNumber(Session("Mail_User_ID")) & ",*'"
con.Execute strSQL
con.Close
Session("Mail_NewMail_Subject") = ""
Session("Mail_NewMail_Status") = ""
Session("Mail_OrginalMessage") = ""
Response.Redirect "Mail_Mail_Sendt.asp?NotSentTo='" & Blocked_Users & "'"
%></code>Sv: Blocka om id ligger i tabell (typ: 1, 23, 7, 9)
Sv: Blocka om id ligger i tabell (typ: 1, 23, 7, 9)
Så jag har nu ändrat till Session("id") på de tre ställen där Session("Mail_User_ID") användes.
Men jag får dock fortfarande felmeddelande, nämligen detta:
Microsoft OLE DB Provider for ODBC Drivers fel '80040e09'
[MySQL][ODBC 3.51 Driver][mysqld-3.23.52]You have an error in your SQL syntax near 'SELECT id , 1, 51, '2002-9-18 17:19:40', 1, 'text', 'text', FROM m' at line 2
/community1/aaa/111/skicka_mail.asp, rad 60
Jag körde en "Response.write strSQL" istället för en "con.Execute strSQL" så att du kanske kan se vad som är fel. Detta skrevs ut:
INSERT INTO mails (Receiver_ID, Sender_ID, Status, Sendt_Date_Time, Folder, Subject, Message SELECT id , 1, 51, '2002-9-18 17:14:39', 1, 'text', 'text', FROM medlemmar WHERE id IN (3) AND NOT ',' & Blocked_Users & ',' LIKE '*,1,*'Sv: Blocka om id ligger i tabell (typ: 1, 23, 7, 9)
<code>
<%
Function SQLDate(Value)
If IsDate(Value) Then
SQLDate = "'" & Year(Value) & "-" & Month(Value) & "-" & Day(Value) & " " & Hour(Value) & ":" & Minute(Value) & ":" & Second(Value) & "'"
Else
SQLDate = "Null"
End If
End Function
Function SQLText(Value)
If Len(Value) > 0 Then
SQLText = "'" & Replace(Value, "'", "''") & "'"
Else
SQLText = "Null"
End If
End Function
Function SQLNumber(Value)
If IsNumeric(Value) Then
SQLNumber = Replace(Value, ",", ".")
Else
SQLNumber = "Null"
End If
End Function
Dim rs
Dim con
Dim strSQL
Dim Blocked_Users
strDSN = "lumba"
Set con = Server.CreateObject("ADODB.Connection")
con.Open strDSN
strSQL = "SELECT id" & vbCrLf & _
"FROM medlemmar" & vbCrLf & _
"WHERE id IN (" & Session("Mail_NewMail_Namelist") & ") AND " & vbCrLf & _
"',' & Blocked_Users & ',' LIKE '*," & SQLNumber(Session("Mail_User_ID")) & ",*'"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strSQL, con
If Not rs.EOF Then
Blocked_Users = rs.GetString(, , , ",")
End If
rs.Close
strSQL = "INSERT INTO mails (Receiver_ID, Sender_ID, Status, Sendt_Date_Time, Folder,Subject, Message" & vbCrLf & _
"SELECT id , " & vbCrLf & _
SQLNumber(Session("Mail_User_ID")) & ", " & vbCrLf & _
SQLNumber(Session("Mail_NewMail_Status")) & ", " & vbCrLf & _
SQLDate(Now()) & ", " & vbCrLf & _
"1, " & vbCrLf & _
SQLText(Session("Mail_NewMail_Subject")) & ", " & vbCrLf & _
SQLText(Session("Mail_OrginalMessage")) & vbCrLf & _
"FROM medlemmar" & vbCrLf & _
"WHERE id IN (" & Session("Mail_NewMail_Namelist") & ") AND " & vbCrLf & _
" NOT ',' & Blocked_Users & ',' LIKE '*," & SQLNumber(Session("Mail_User_ID")) & ",*'"
con.Execute strSQL
con.Close
Session("Mail_NewMail_Subject") = ""
Session("Mail_NewMail_Status") = ""
Session("Mail_OrginalMessage") = ""
Response.Redirect "Mail_Mail_Sendt.asp?NotSentTo='" & Blocked_Users & "'"
%>
</code>Sv: Blocka om id ligger i tabell (typ: 1, 23, 7, 9)
Microsoft OLE DB Provider for ODBC Drivers fel '80040e09'
[MySQL][ODBC 3.51 Driver][mysqld-3.23.52]You have an error in your SQL syntax near 'SELECT id , 1, 51, '2002-9-18 23:13:7', 1, 'test', 'test' FROM medl' at line 2
/community1/aaa/111/skicka_mail.asp, rad 60
Testade även att skriva ut SQLen igen. fick då detta:
INSERT INTO mails (Receiver_ID, Sender_ID, Status, Sendt_Date_Time, Folder,Subject, Message SELECT id , 1, 51, '2002-9-18 23:12:36', 1, 'test', 'test' FROM medlemmar WHERE id IN (1) AND NOT ',' & Blocked_Users & ',' LIKE '*,1,*'
Vag jag tycker ser konstigt ut är nog *,1,* och & Blocked_Users &.
Skall inte & Blocked_Users & skrivas ut som ett värde? Tja inte vet jag vad som är fel.Sv: Blocka om id ligger i tabell (typ: 1, 23, 7, 9)
<code>
strSQL = "INSERT INTO mails (Receiver_ID, Sender_ID, Status, Sendt_Date_Time, Folder,Subject, Message)" & vbCrLf & _
"SELECT id , " & vbCrLf & _
SQLNumber(Session("Mail_User_ID")) & ", " & vbCrLf & _
SQLNumber(Session("Mail_NewMail_Status")) & ", " & vbCrLf & _
SQLDate(Now()) & ", " & vbCrLf & _
"1, " & vbCrLf & _
SQLText(Session("Mail_NewMail_Subject")) & ", " & vbCrLf & _
SQLText(Session("Mail_OrginalMessage")) & vbCrLf & _
"FROM medlemmar" & vbCrLf & _
"WHERE id IN (" & Session("Mail_NewMail_Namelist") & ") AND " & vbCrLf & _
" NOT ',' & Blocked_Users & ',' LIKE '*," & SQLNumber(Session("Mail_User_ID")) & ",*'"
</code>
Vad where satsen gör är att kontrolera att avsändaren inte är blokerad. Känner inte till vilken operator MySQL använder för att slå samman strängar. Du kanske måste ersätta & med någon annat.Sv: Blocka om id ligger i tabell (typ: 1, 23, 7, 9)
Det som är bra med det hela är ju att när man skickar till någon som har ens id i medlemmar.Blocked_Users så skickads det inte heller något mail.
Jag testade att skicka till en som i sin medlemmar.Blocked_Users hade "1" ("1" är alltså det enda han hade i sin medlemmar.Blocked_Users) och det skickades alltså inget. Men även om han inte hade haft något i sin medlemmar.Blocked_Users så hade det heller inte skickats något mail.
Vet inte heller vilken operator MySQL använder för att slå samman strängar. Skrev en fråga om det i mysql-forumet.Sv: Blocka om id ligger i tabell (typ: 1, 23, 7, 9)
<code>
strSQL = "INSERT INTO mails (Receiver_ID, Sender_ID, Status, Sendt_Date_Time, Folder,Subject, Message)" & vbCrLf & _
"SELECT id , " & vbCrLf & _
SQLNumber(Session("Mail_User_ID")) & ", " & vbCrLf & _
SQLNumber(Session("Mail_NewMail_Status")) & ", " & vbCrLf & _
SQLDate(Now()) & ", " & vbCrLf & _
"1, " & vbCrLf & _
SQLText(Session("Mail_NewMail_Subject")) & ", " & vbCrLf & _
SQLText(Session("Mail_OrginalMessage")) & vbCrLf & _
"FROM medlemmar" & vbCrLf & _
"WHERE id IN (" & Session("Mail_NewMail_Namelist") & ") AND " & vbCrLf & _
" NOT CONCAT(',', Blocked_Users, ',') LIKE '%," & SQLNumber(Session("Mail_User_ID")) & ",%'"
</code>
Men jag föreslår en tabell, betydligt lättare att administrera. Desutom ger det möjlighet att direkt söka i index.Sv: Blocka om id ligger i tabell (typ: 1, 23, 7, 9)
Eller skall det se ut som följande:
strSQL = "SELECT id" & vbCrLf & _
"FROM medlemmar" & vbCrLf & _
"WHERE id IN (" & Session("Mail_NewMail_Namelist") & ") AND " & vbCrLf & _
"',' & Blocked_Users & ',' LIKE '*," & SQLNumber(Session("id")) & ",*'"
...eller skall det se ut som nedan. Jag har i alla fall ändrat så att det ser ut som nedan. Och vad jag märkte var att när jag försökte skicka ett mail till id 3 var att "& Blocked_Users &"-värdet var "3," och det är ju inte så bra, det skall ju bara vara 3. Kanske därför det hela inte funkar.
strSQL = "SELECT id" & vbCrLf & _
"FROM medlemmar" & vbCrLf & _
"WHERE id IN (" & Session("Mail_NewMail_Namelist") & ") AND " & vbCrLf & _
"CONCAT(',', Blocked_Users, ',') LIKE '%," & SQLNumber(Session("id")) & ",%'" Sv: Blocka om id ligger i tabell (typ: 1, 23, 7, 9)
Lägger man till , före och efter Blocked_Users värdet, som vi gör med CONCAT(',', Blocked_Users, ','). Sedan söker vi efter ,3, i strängen.
Det som kan strula är i så fall mellanslag.
Använder du en tabell slipper du mycket av det som kan strula.Sv: Blocka om id ligger i tabell (typ: 1, 23, 7, 9)
Men alltså om du kollar på det första inlägget. Den överstadelen som där är problemet funkade med accessdatabasen. Du ser möjligen inte vad det är som gör att det inte fungerar med MySQL. Så här ser koden ut:
Dim strReplyTo
Dim arrReplyTo
Dim I
' #### BEGIN ## Find selected users and check if they have the current user on the blocked list ####
Accepted_Users=""
Blocked_Users=""
Set rs = Server.CreateObject("ADODB.RecordSet")
SQL_Str="SELECT id, Blocked_Users FROM medlemmar WHERE id IN ("&Session("Mail_NewMail_Namelist")&") ORDER BY Username"
strDSN = "lumba"
rs.Open SQL_Str, strDSN, 1, 1
If Not rs.EOF Then
alldata=rs.getrows
rs.close
Set rs=nothing
numcols=ubound(alldata,1)
numrows=ubound(alldata,2)
For rowcounter=0 TO numrows
Str_User_ID=alldata(0,rowcounter)
Str_Blocked_Users=","&alldata(1,rowcounter)&","
If InStr(Str_Blocked_Users,","&Str_User_ID&",")<>0 Then
Blocked_Users=Blocked_Users&Str_User_ID&","
else
Accepted_Users=Accepted_Users&Str_User_ID&","
end if
Next
else
rs.close
Set rs=nothing
end if
If Not Accepted_Users="" Then Accepted_Users=Left(Accepted_Users,Len(Accepted_Users)-1) end if
If Not Blocked_Users="" Then Blocked_Users=Left(Blocked_Users,Len(Blocked_Users)-1) end if
' #### BEGIN ## Find selected users and check if they have the current user on the blocked list ####Sv: Blocka om id ligger i tabell (typ: 1, 23, 7, 9)
relationer.id - medlemmens id
relationer.kompis - om kompis, kompisens id
relationer.idiot - om idiot, idiotens id
Så varge gång man lägger till en kompis eller en idiot så skall det i denna tabell läggas till en rad.Sv: Blocka om id ligger i tabell (typ: 1, 23, 7, 9)
relationer.medlem - medlemmens id
relationer.person - vilken relationen är till
relationer.typ - om kompis eller idiot