webForumDet fria alternativet

online - User array

23 svar · 488 visningar · startad av Jesper T

Jesper TMedlem sedan nov. 20017 144 inlägg
#1

Jo, med detta kan jag på ett smidigt sätt få fram vilka som är inloggade.

        <%user_array=split(Application("active_users"),"*")
xx="<img src=bilder/offline.gif width=10 height=10>"
for t=0 to ubound(user_array)
user=user_array(t)
If recset("Username") = user Then xx="<img src=bilder/online.gif width=10 height=10>"
next
Response.Write xx%>

Funkar kanoon!

Men nu till frågan: Kan jag göra en loop som hämtar alla som är online i recsettet också?? I sådana fall hur?

MVH Jesper T

------------------
If ASPackad date-1 then ASPerin Now

solbulleMedlem sedan mars 20015 287 inlägg
#2

Kanske:

<%
Do Until rs.eof
user_array=split(Application("active_users"),"*")
xx="<img src=bilder/offline.gif width=10 height=10>"
for t=0 to ubound(user_array)
user=user_array(t)
If recset("Username") = user Then xx="<img src=bilder/online.gif width=10 height=10>"
End if
next
Response.Write xx
rs.movenext
loop
%>

Möblerade om lite i din kod. Testa.

OT Lite nattuggla där kanske? ;)

------------------
/solbulle
Hemmabio | Spelautomater | The Who | The Who II

Jesper TMedlem sedan nov. 20017 144 inlägg
#3

OT Lite nattuggla där kanske?

Ja, och vissa är uppe med tuppen. Tror att jag vaknade sisådär vid 15 tiden idag! :)¨

Tack för hjälpen i alla fall som vanligt!

MVH Jesper T

------------------
If ASPackad date-1 then ASPerin Now

Jesper TMedlem sedan nov. 20017 144 inlägg
#4

Men måste det inte in i en selectsats på något sätt?

Select * from users where users=online

Eller nåt sånt??

MVH Jesper

------------------
If ASPackad date-1 then ASPerin Now

LarsGMedlem sedan dec. 200012 464 inlägg
#5

Jo, det behövs.

query = "select username from users where status = 'online'"
set recset = connect.execute(query)

Något åt det hållet. Exakt hur beror hur din tabell är definierad.

------------------
essentitia preter non sans multiplicandum

Jesper TMedlem sedan nov. 20017 144 inlägg
#6

Fast igentligen heter det ju inte online utan det skulle bli typ något sådant här, men det funkar inte

user_array=split(Application("active_users"),"*")
sql = "SELECT * FROM users where username= user_array ORDER BY username"
Set rsUsers = Server.CreateObject("ADODB.Recordset")
rsUsers.Open sql, conn, 3, 3

I mitt fösta inlägg har jag beskrivit hur jag loopar ut röd eller grön stjärna framför ett användarnamn beroende på status. Om jag försöker skriva ut "user_array" med response.write så står det nada!

MVH Jesper T

------------------
If ASPackad date-1 then ASPerin Now

LarsGMedlem sedan dec. 200012 464 inlägg
#7

Vad är det du vill egentligen?

Du har alltså sträng i en applikationsvariabel som innehåller et antal namn. Vad är det för namn?

Hur vill du koppla dessa till databasen?

------------------
essentitia preter non sans multiplicandum

Jesper TMedlem sedan nov. 20017 144 inlägg
#8

Jo, jag vill göra så som du beskrev:

query = "select username from users where status = 'online'"

Och loopa ut alla användare som är online för tillfället. Men "status = 'online' kan jag ju inte använda, jag försökte med "user_array" funkade inte heller!

------------------
If ASPackad date-1 then ASPerin Now

solbulleMedlem sedan mars 20015 287 inlägg
#9

Kan du inte bara ta ut hela recsetet och sen göra din ursprungliga jämförelse och bara visa de som är online?

------------------
/solbulle
Hemmabio | Spelautomater | The Who | The Who II

Jesper TMedlem sedan nov. 20017 144 inlägg
#10

Jo det kan jag säkert om jag bara visste hur jag skulle göra! ;)

MVH Jesper

------------------
If ASPackad date-1 then ASPerin Now

solbulleMedlem sedan mars 20015 287 inlägg
#11
<%
Set conn= Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
sql = "SELECT * FROM users ORDER BY username"

rs.Open sql, conn, 3, 3

Do Until rs.eof
user_array=split(Application("active_users"),"*")
xx="<img src=bilder/offline.gif width=10 height=10>"
for t=0 to ubound(user_array)
user=user_array(t)
If recset("Username") = user Then xx="<img src=bilder/online.gif width=10 height=10>"
End if
next
Response.Write xx
rs.movenext
loop

	RS.close
	set RS= nothing
	conn.Close
	set conn = nothing
%>

Funkar inte det? (Med reservatioon för din databaskoppling.)
Visar det inte en bild per lirare som är online?
I så fall kan du ju komplettera med namn osv från databasen om du vill. (I loopen.)

[Redigerat av solbulle den 14 feb 2002]

[Redigerat av solbulle den 14 feb 2002]

Jesper TMedlem sedan nov. 20017 144 inlägg
#12

Jo det funkar, men det gör mitt första exempel också. Men jag vill att endast de som är online skall visas i loopen.
(Utan bild). Jag har säkert förklarat dåligt! :l

MVH Jesper

------------------
If ASPackad date-1 then ASPerin Now

solbulleMedlem sedan mars 20015 287 inlägg
#13

("active_users") innehåller väl de som är aktiva?
I så fall tycker jag nog att bara de skall visas?!?
Hur skulle man kunna se de övriga?

If recset("Username") = user Then

ed. Aha, nu äntligen ser jag vad du vill... du vill inte se röken av de som inte är online överhuvudtaget. Mao du vill inte ha dom i ditt rs.

Hm... det blir nog en fråga för LarsG är jag rädd.

------------------
/solbulle
Hemmabio | Spelautomater | The Who | The Who II

[Redigerat av solbulle den 15 feb 2002]

Jesper TMedlem sedan nov. 20017 144 inlägg
#14

Är det kanske någon som kan svara då detta, hoppas att det går att fatta!

Det är en array jag vill göra sorterad efter en application på inloggade medlemmar men det är en smula svårt. Pleace!

MVH Jesper

TobbsterMedlem sedan mars 2001309 inlägg
#15

Om Du vissar hur din databas ser ut så ska vi nog kunna hjälpa dig !!! Det känns lite onödigt att Loopa igenom din user_array,men det går nuog att fixa bara vi får se strukturen på databasen !!!

Jesper TMedlem sedan nov. 20017 144 inlägg
#16

Ja, strukturen var det ja!

Access 2000

tabell = Users
med kolumnerna: username/firstname/surname

Och som jag har försökt att förklara tidigare i inlägget så kan jag i nuläget loopa alla användare och få en grön respektive röd prick framför användarna beroende på deras on/offline status. Det jag vill göra är att ENDAST lista de användare som är online JUST NU.

Nu kommer min fråga: Hur göra detta?

MVH Jesper T

TobbsterMedlem sedan mars 2001309 inlägg
#17

En lite fråga bara ! I din user_array lägger du ju bara online users eller ???

Hur ser den SQLfrågan ut ??

Jesper TMedlem sedan nov. 20017 144 inlägg
#18

Nej, nej, jag har ingen kolumn som heter usersonline eller så, måste jag ha det kanske???

Jag har en databas med username, firstname, lastvisit etc
och sen kör jag användareonline för tillfället med aplictations och global.asa som beskrivet i mitt "orginalinlägg".

MVH JesperT

TobbsterMedlem sedan mars 2001309 inlägg
#19

Nu är jag inte super haj på Application/Global.asa !

Men du måste ju på något sätt stoppa in värdena i din Application ("active_users")

Det är där jag undrar hur du stoppar in värdena !

För Application("active_users") är väl inte någon fördifinerad konstant som inte jag känner till ?????

Jesper TMedlem sedan nov. 20017 144 inlägg
#20

Ja jag vet inte, det borde ju inte vara så svårt tycker man. Det handlar ju om att hämta upp användare som för tillfället är online ur applications och snurra ut dessa. Det kan väl inte vara så *svordom* svårt! :l :( :)

266 ms totalt · 3 externa anrop · v20260731065814-full.30151723
128 ms — hämta forumlista (db)
124 ms — hämta statistik (db)
140 ms — hämta tråd, inlägg och bilagor (db)