webForumDet fria alternativet
Logga in / Bli medlem

*Suck* kompislista

ASP

10 svar · 465 visningar · startad av fundrusse

Medlem sedan jan. 2002286 inlägg
Trådstart#1

Ahh. det vill inte riktigt funka med min kompislista asså. FAST jag har kollat på andra inlägg här...

jag har

[member]
Id
username

[friend]
id
friend
username

hur skall det se ut för min del då?

Medlem sedan dec. 19998 577 inlägg
#2

Jag skulle gjort såhär:

[members]
memberid
username

[relations]
id
userid
friendid

Medlem sedan jan. 2002286 inlägg
#3

Ja men hur ser SQL:en se ut då?

Medlem sedan feb. 200112 078 inlägg
#4

Det beror ju lite på vad du vill göra.. ;)

Medlem sedan jan. 2002286 inlägg
#5

hehe jag ska lista en användares kompislista..

Medlem sedan juni 20003 076 inlägg
#6

om du ska kunna få något exempel så måste du nog förklara lite mer hur du vill ha det.
ska man kunna lista en kompis och dennes kompisar eller ska man kunna lista en kompis och kompisens mormor och hennes kompisar eller dina kompisar och din mormor eller... ;)

Medlem sedan jan. 2002286 inlägg
#7

Ja asså när du går in på Gretas kompislista så ska du få upp de kompisar hon har addat o de kompisar som har addat Greta.

Hänger du med?

Medlem sedan juni 20003 076 inlägg
#8

sorry att jag inte svarat tidigare, har inte haft tid.
det finns förmodligen en massa sätt att lösa detta på, en variant skulle kunna se ut så här:

strsql = "SELECT membername, friendname FROM members m "&_
"inner join friends f on m.id = f.memberid WHERE m.Id =1 "

Set rs = conn.Execute(strsql)

Response.Write "det här är jag: <br>" & rs("membername") & "<br>"
Response.Write "och det här är mina kompisar:<br>"
While not rs.Eof
Response.Write rs("friendname") & "<br>"
rs.movenext
wend

och tabellerna ser ut:

members: Id, membername
friends: Id, memberid, friendname

hur man ska kunna se vilka kompisar som har adderat mig har jag faktiskt ingen bra lösnig på just nu, men om inte de andra medlemmarna här på forumet kommer med ett förslag så ska jag fixa en lösning senare.
Du kan ju åtminstone börja labba lite med denna!

Medlem sedan juni 20003 076 inlägg
#9

här kommer en fortsättning:

Set conn = Server.CreateObject("ADODB.Connection")
conn.Open strconn

strsql = "SELECT membername, friendname FROM members m "&_
"inner join friends f on m.id = f.memberid WHERE m.Id =1 "
Set rs = conn.Execute(strsql)

strsql2 = "SELECT membername FROM members m "&_
"inner join friends f on m.id = f.memberid WHERE f.friendid =1 "
Set rs2 = conn.Execute(strsql2)

Response.Write "det här är jag: <br>" & rs("membername") & "<br>"
Response.Write "och det här är mina kompisar:<br>"
While not rs.Eof
Response.Write rs("friendname") & "<br>"
rs.movenext
wend
rs.Close()
Set rs = Nothing

Response.Write "dessa personer har adderat mig till deras lista:<br>"
While Not rs2.Eof
Response.Write rs2("membername") & "<br>"
rs2.movenext
wend
rs2.Close()
Set rs2 = Nothing

conn.Close()
Set conn = Nothing

tabeller:

members: Id, membername
friends: Id, memberid, friendid, friendname
Medlem sedan jan. 2002286 inlägg
#10

Jo fast om man har 2 SQL:er då blir det ju lite knas när man ska sortera dem. Det är där mitt problem ligger.

För jag vill ju kunna sortera kompislistan efter namn typ så att de kompisar jag addat o de som har addat mig ska komma i samma sortering.

Medlem sedan juni 20003 076 inlägg
#11

denna fixar nog tricket!

friend = 1
strsql = "SELECT membername FROM members WHERE id in(Select memberid from friends where friendid = " & friend & " )or id in (Select friendid from friends where memberid = " & friend & " ) order by membername "

jag är inte stensäker på att det håller men, men ...

270 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)