Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Randomize i ett recordset?

Postades av 2003-11-27 02:39:29 - André Andersson, i forum asp - allmänt, Tråden har 18 Kommentarer och lästs av 571 personer

Jag har en tabell som heter usr, där har jag vill att på första sidan ska användarens bild komma upp. Går det, har kollat runt men inte hittat något. Bara jag får tag i ett ID så är det ju lätt.


Svara

Sv: Randomize i ett recordset?

Postades av 2003-11-27 05:46:35 - Peter Björklund

Om alla bilder ligger i en katalog på hd och du sparar bildens namn med sökväg i en databastabell (image) så är det bara att du SELECT * FROM usr,image WHERE usr.id = image.id AND image.path = "sökvägen till bild";

Men det har inget med Randomize att göra.


Svara

Sv: Randomize i ett recordset?

Postades av 2003-11-27 09:17:59 - Tommy Stenbäck

Sök i forumet på 'slumpa', 'slumpa post', 'random', 'randomize' eller något liknande så finns det en del matnyttigt! :)

//Tommy


Svara

Sv: Randomize i ett recordset?

Postades av 2003-11-27 09:52:51 - Anders Friborg

Om du vill att bilden på just den användaren som går in på sajten kommer upp måste du ta reda på vem användaren är. Ett enkelt sätt att göra detta är att låta användaren logga in.

När du loggar in din användaren koller du helt enkelt vilket ID användaren har och lägger detta i ex. ett Session-objekt eller en cookie.


Svara

Sv: Randomize i ett recordset?

Postades av 2003-11-27 12:13:59 - Jonas Sjöblom

Om du använder mySQL skriver du:

select bild from tabell order by rand() limit 1

i access tror jag det är
select top 1 bild from tabell order by rnd()

mend et var längesen jag använde det så jag är inte säker


Svara

Sv: Randomize i ett recordset?

Postades av 2003-11-27 12:13:59 - Jonas Sjöblom

Om du använder mySQL skriver du:

select bild from tabell order by rand() limit 1

i access tror jag det är
select top 1 bild from tabell order by rnd()

mend et var längesen jag använde det så jag är inte säker


Svara

Sv: Randomize i ett recordset?

Postades av 2003-11-28 19:37:10 - André Andersson

Jo när någon loggar in blir fältet "online" = 1, då vet jag vilka som bara får visas, men hur ska den göra för att först leta upp alla som har "online = 1" och sen välja ut en?

select top 1 bild from tabell order by rnd() fungerade inte


Svara

Sv: Randomize i ett recordset?

Postades av 2003-11-29 06:13:25 - Ulf Nygren

Håller med Peter att detta inte torde ha något med Randomize att göra.

Du vill väl inte att det ska dyka upp slumpmässiga bilder på startsidan?
Jag förutsätter att du vill att den inloggades bild ska visas när denne loggar in.

Det borde inte alls vara svårt att få tag på vilket ID den inlogade har om du kollar på din inloggningskod. Eftersom jag inte har en aning om hur du löst inloggningen så tänker jag inte ens spekulera.

När du har denna och ska plocka fram matchande bild så beror det lite på hur du sparat bilderna. Även där kommer Peter med vettiga synpunkter.

Om du vill ha mer hjälp så får du nog precisera dig lite.
Tex. vill du verkligen slumpa fram användarbilderna? Hur loggar användarna in? Hur har du sparat användarbilderna.


Svara

Sv: Randomize i ett recordset?

Postades av 2003-11-29 18:25:06 - André Andersson

Asså jag vill inte att alla som loggar in ska visas på första sidan. Det är då jag måste använda mig utav en randomizer, för hur jag datan veta vilka han ska välja?

När någon loggar in sätts "online" fältet till 1. Då vet jag vilka som är inloggade och inte, det jag vill göra nu är att datan slumpmässigt väljer 1 användare som har fältet "online" = 1. För det ska inte baseras på när man senast loggat in eller något annat, utan slumpen.


Svara

Sv: Randomize i ett recordset?

Postades av 2003-11-29 19:58:23 - Peter Björklund

Hittade ett tidigare inlägg här som du kan kika på. Kanske leder det dig rätt?

http://www.pellesoft.se/development/forum/view.asp?msgid=100113&forumid=1


Svara

Sv: Randomize i ett recordset?

Postades av 2003-11-30 19:01:17 - André Andersson

Alltså det fungerar med den här:

<code>
SQL = "SELECT TOP 1 user.ID, * FROM user WHERE user.bild = 1 ORDER BY RND(user.ID)"
</code>

Men det blir alltid samma user som kommer fram, håller jag inne F5 (refresh knappen) så visas andra också, men laddar jag sidan engång till blir det den usern som var där innan med, på något sätt sparas den.

Finns det någon kod bit man kan sätta in för att "nolla" cachen?


Svara

Sv: Randomize i ett recordset?

Postades av 2003-12-01 03:51:13 - Ulf Nygren

Okej, då är jag med (tror jag). Du vill alltså att när tex. JAG loggar in så ska jag få upp en bild på en ANNAN slumpmässigt vald (alltså kan det iof bli min egen bild) inloggad användare?

I så fall borde din kod funka om du lägger till Randomize.

<code>Randomize
SQL = "SELECT TOP 1 user.ID, * FROM user WHERE user.bild = 1 ORDER BY RND(user.ID)"</code>


Svara

Sv: Randomize i ett recordset?

Postades av 2003-12-01 12:35:40 - André Andersson

Ja det är exakt så det ska fungera, men problemet är att den väljer ut en speciell bild men vill bara visa den hela tiden, inte ändra (om man inte håller inne refresh knappen).


Svara

Sv: Randomize i ett recordset?

Postades av 2003-12-01 14:20:13 - Ulf Nygren

Här kanske är en lösning? Lite slarvigt skriven och kan säkert optimeras en del, men den ska funka...
<code>
<%
usrExists=False

'Ta ut högsta ID från user-tabellen
SET MAX=conn.execute("SELECT MAX(ID) as usr FROM user")

' Loopa till dess en user har hittats
DO UNTIL usrExists
'Slumpa fram ett ID mellan 1 och det högsta ID:et i tabellen
Randomize
slump=Int(MAX("usr")*Rnd+1)
'Läs in data från user-tabellen
SET user=conn.execute("SELECT ID, image.path FROM user WHERE bild = 1")
'Stega igenom inlästa users
DO UNTIL user.EOF
'om ID är samma som slumpnummer
IF slump=user("ID") THEN
'Här lägger du koden för att skriva ut din bild, typ:
Response.Write("<IMG src="&user("image.path")&">")
'Markera att user har hittats och visats
usrExists=True
END IF
user.MoveNext
Loop
Loop
%>
</code>
Du får kanske anpassa koden lite eftersom jag inte har sett hur du löst allt annat.
OBS! den förutsätter att ID är en räknare (autoinkrement)...


Svara

Sv: Randomize i ett recordset?

Postades av 2003-12-01 15:43:43 - André Andersson

Tack det fungerar! Men ibland kan det ta uppemot 7-8 sekunder innan bilden visas, vad beror det på?


Svara

Sv: Randomize i ett recordset?

Postades av 2003-12-04 00:27:16 - André Andersson

Kan det bero på att man har två st DO UNTIL? För det verkar precis som om den väntar på något.


Svara

Sv: Randomize i ett recordset?

Postades av 2003-12-05 22:31:03 - Markus Jarderot

Mindre optimering av koden:
<code>
<%
usrExists=False

'Ta ut högsta ID från user-tabellen
SET MAX=conn.execute("SELECT MAX(ID) as usr FROM user")

' Loopa till dess en user har hittats
DO UNTIL usrExists
'Slumpa fram ett ID mellan 1 och det högsta ID:et i tabellen
Randomize
slump=Int(MAX("usr")*Rnd+1)
'Läs in data från user-tabellen
SET user=conn.execute("SELECT ID, image.path FROM user WHERE bild = 1")
'Stega igenom inlästa users
DO UNTIL user.EOF
'om ID är samma som slumpnummer
IF slump=user("ID") THEN
'Här lägger du koden för att skriva ut din bild, typ:
Response.Write("<IMG src="&user("image.path")&">")
'Markera att user har hittats och visats
usrExists=True
Exit Do 'Avbryt inre Do-loopen... den yttre avbryts när usrExists=True
END IF
user.MoveNext
Loop
Loop
%>
</code>


Svara

Nyligen

  • 17:54 Vegastars New Zealand
  • 16:56 Verde Casino Danmark
  • 13:54 Vegastars: Top Australian Online C
  • 21:28 Chicken Road Casino Game
  • 21:21 1xBet Promo Code 2025
  • 18:37 Remove the bumper in AUDI
  • 15:35 Chicken road crash game
  • 21:41 Automotive Services UK

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 960
27 965
271 783
683
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies