Online brugere skal vises i øverst række

Tags:    databaser

Hej.
Jeg har lavet et "venner"-system, hvor man kan se sine venner på mit site.

Ligenu viser den bare navene på ens venner man har.

Jeg ønsker den tager dem som er online først (den som loggede på til sidst) øverst.

TABEL: venner indenholder "brugernavn" og "ven"
-- brugernavn er ens brugernavn, f.eks $_SESSION['brugernavn'] og ven er ens ven. F.eks "Google"

Så har jeg en tabel hvor brugerne er online i.

TABEL: online_brugere indenholder "brugernavn" og "tid"

Så skal den udtrække en liste over ens venner, hvor dem som er online kommer først, og dem som ikke er, kommer i sidste række - hvis i forstår?

F.eks brugeren Eksperten er min ven og han er online, så har jeg Birthe som er online, og Karlo som er offline. Så skal den udskrive

Eksperten
Birthe
Karlo

På forhånd tak!


Venner tabel:
Fold kodeboks ind/udKode 


online_brugere tabel:
Fold kodeboks ind/udKode 




Har smidt et ekstra felt ind i "online_brugere"
Fold kodeboks ind/udKode 



Og så laver lige lidt bedre genkendelse af tabelnavne; tilføjer et z i enden:
Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 29.11.2007 21:12 af Bruger #10216
Jeg ville ændre tabel-designet en smule.

Jeg ville lave en users tabel med

ID - som er unikt, auto-increment felt
Brugernavn
Password
Alt-det-andet der skal gemmes om brugere
Online - Smallint (eller byte eller hvad den mindste tal-værdi nu er). Sæt den til 1 hvis brugeren er online, 0 ellers

Så vil jeg lave en "venner" tabel
ID - integer
Friend - integer

Hvis bruger 1 er venner med bruger 2 og 4 vil jeg indsætte (1,2) og (1,4).

Jeg vil så lave min select som:

Fold kodeboks ind/udKode 


Det er ikke testet, så jeg kan ikke lige sige, om der er problemer med at folk bliver venner med sig selv. Det kunne ske, hvis man f.eks. indsætte (1,2) og (2,1).



Indlæg senest redigeret d. 30.11.2007 13:52 af Bruger #132
t