Avatar billede madeindk Nybegynder
18. oktober 2006 - 17:22 Der er 12 kommentarer og
1 løsning

Sortere efter en anden tabels indhold

Hej eksperter! Kan det lade sig gøre at sortere efter en anden tabels indhold? Jeg har en liste over brugere, en venneliste - hvor jeg gerne vil ha den til at sortere efter hvilke venner der er online - men det er i en anden tabel det står om brugeren er online.
Avatar billede keysersoze Ekspert
18. oktober 2006 - 17:34 #1
du kan vel joine de tabeller der har noget med hinanden at gøre?
Avatar billede busschou Praktikant
18. oktober 2006 - 17:34 #2
mon ikke du kan gøre noget ala det her hvis din tabel hedder venneliste og onlineliste

Select venneliste.navn from vennelise, onlineliste where venneliste.navn = onlineliste.navn order by venneliste.navn

det kræver sevfølgelig at du enten har navnet eller et id som er ens på hver person i de to tabeller
Avatar billede madeindk Nybegynder
18. oktober 2006 - 17:35 #3
Jeg har læst noget om at joine, men jeg ved ikke hvordan det fungerer.

Det var derfor jeg håbet på en rutineret fyr som dig ville hjælpe mig :-)
Avatar billede ldanielsen Nybegynder
18. oktober 2006 - 17:37 #4
Fortæl hvordan tabellerne er opbygget osv. så kan vi lave det
Avatar billede madeindk Nybegynder
18. oktober 2006 - 17:37 #5
busschou -> Du er inde på noget af det rigtige :-) Jeg har en tabel der hedder "friends" og så har jeg en tabel der hedder "users".

I friends står hedder feltet friendId, friendId skal så gå ind i users og se om brugeren er online, og derefter sorterer efter online.

Den skal sorterer efter online - så dem der er online bliver sorteret først. Onlinefeltet hedder "onlinestatus".
Avatar billede ldanielsen Nybegynder
18. oktober 2006 - 17:41 #6
SELECT Feltnavn, Feltnavn2 FROM Friends INNER JOIN Users
ON Friends.FriendID = Users.FriendID
WHERE FriendID = <Her skal der vel være et ID?>
ORDER BY onlinestatus DESC
Avatar billede madeindk Nybegynder
18. oktober 2006 - 17:45 #7
Ja - ID'et til vennene skal den hente i friends? Så hvad skal jeg skrive der?

Kan du ikke få det passet ind i denne her:

<%
' Forbinder til DB
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={MySQL ODBC 3.51 Driver}; Server=" & MySQLSRV & "; Database=users; UID=" & MySQLUID & "; PWD=" & MySQLPWD & ";"

' Her skal din SQL vel så stå?
SQL = ""

Set RS = objConn.Execute(SQL)
%>
Avatar billede madeindk Nybegynder
18. oktober 2006 - 18:08 #8
Burde denne her ikke virke?

SQL = "SELECT * FROM friends INNER JOIN users WHERE userId=" & request.querystring("id") & " AND status = " & 2 & " ORDER BY users.onlinestatus DESC "
Avatar billede madeindk Nybegynder
18. oktober 2006 - 19:11 #9
Altså den skal hente alle venner hvor "userId" i vennetabellen er lig med request.querystring("ID") hvor status i venne tabellen er 2.
Avatar billede ldanielsen Nybegynder
19. oktober 2006 - 11:14 #10
Sådan måske?:

<%
' Forbinder til DB
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={MySQL ODBC 3.51 Driver}; Server=" & MySQLSRV & "; Database=users; UID=" & MySQLUID & "; PWD=" & MySQLPWD & ";"

' Her skal din SQL vel så stå?
SQL = "SELECT * FROM friends INNER JOIN users ON Friends.FriendID = Users.FriendID WHERE userId= " & request.querystring("id") & " AND status = 2 ORDER BY users.onlinestatus DESC"
Set RS = objConn.Execute(SQL)
%>
Avatar billede madeindk Nybegynder
19. oktober 2006 - 14:13 #11
Det lader til at fungere.

Smid et svar :-)
Avatar billede ldanielsen Nybegynder
26. oktober 2006 - 12:50 #12
Svar
Avatar billede madeindk Nybegynder
26. oktober 2006 - 13:21 #13
Tak for hjælpen :)
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