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


Slumpa post ur databas

Postades av 2003-08-23 01:00:57 - Teodor Linder, i forum asp - allmänt, Tråden har 14 Kommentarer och lästs av 599 personer

Ett enkelt script skulle vara trevligt.

Det jag använder nu ser ut så här:

<code>
SQL = "SELECT MAX(ID) From image"
Set rs = Connection.Execute(SQL)

Randomize
siffra = Int(RND*(rs.Fields(0))) + 1

SQL2 = "SELECT * From image WHERE ID = " & siffra
Set rs2 = Connection.Execute(SQL2)

If rs2.EOF Then
Response.Redirect "default.asp"
End If
</code>

Detta fungerar, men ibland kan en användare ha tagit bort en post ur databasen, vilket gör att ett ID ibland kan saknas. Har löst detta genom att då ladda om sidan tills den hittar en ID som finns. Finns det inget bättre sätt? Ett som bara använder sig av de poster som verkligen finns och sedan slumpar ut en av dessa.


Svara

Sv: Slumpa post ur databas

Postades av 2003-08-23 01:15:46 - Andreas Hillqvist

Vilken databas använder du?

Om du använder access kan du skriva:
<code>
SQL = "SELECT TOP 1 image.* FROM image ORDER BY Rnd(image.ID)"
Set rs = Connection.Execute(SQL)

If rs.EOF Then
Response.Write "No records!"
Else
'Din kod...
End If
</code>


Svara

Sv: Slumpa post ur databas

Postades av 2003-08-23 01:23:41 - Teodor Linder

Använder access, men den använder jag det där slumpas samma post ut hela tiden.

<code>
SQL = "SELECT TOP 1 image.* FROM image ORDER BY Rnd(image.ID)"
Set rs = Connection.Execute(SQL)

If rs.EOF Then
Response.Write "No records!"
Else
Response.Write "<img src=" & rs("Source") & ">"
End If
</code>


Svara

Sv: Slumpa post ur databas

Postades av 2003-08-23 01:29:52 - Andreas Hillqvist

JAg testade i AccessXP i vilket det fungerade. Kanske inte går at göra så i tidigare versioner.
Försök med:
<code>
SQL = "SELECT TOP 1 image.* FROM image ORDER BY Rnd() * image.ID / image.ID"
</code>


Svara

Sv: Slumpa post ur databas

Postades av 2003-08-23 01:35:06 - Teodor Linder

Hmm.. Samma sak, fast med en ny post! :(

Skulle vara kanon om man fick det här att fungera. Mitt nuvarande script har brister..


Svara

Sv: Slumpa post ur databas

Postades av 2003-08-23 02:24:38 - Pelle Johansson

Har en som funkar, vet inte om den passar dig. Fältid är ett inkrementellt fält för nyckel.

<code>
select fältid,
(fältid*(1+datepart(s,getdate()))*(1+datepart(ms,getdate())))%1000 as sortid
from tabell
order by sortid
</code>


Svara

Sv: Slumpa post ur databas

Postades av 2003-08-23 02:40:39 - Teodor Linder

<code>
SQL = "SELECT *, (ID*(1+datepart(s,getdate()))*(1+datepart(ms,getdate())))%1000 AS ID FROM image ORDER BY ID"
Set rs = Connection.Execute(SQL)
</code>

??

Hänger nog inte riktigt med tror jag..


Svara

Sv: Slumpa post ur databas

Postades av 2003-08-23 11:48:51 - Andreas Hillqvist

Testa med:
<code>
SQL = "SELECT TOP 1 image.* FROM image ORDER BY RND(image.ID * TIME())"
</code>


Svara

Sv: Slumpa post ur databas

Postades av 2003-08-23 14:11:25 - Teodor Linder

fortfarande bara en post som slumpas ut hela tiden.. fungerar det för er när ni testar?


Svara

Sv: Slumpa post ur databas

Postades av 2003-08-23 17:25:24 - Andreas Hillqvist

Funkar utmärkt för mig. Kan det var så att din sida cachar resultatet? Har du provat att ladda om sidan?


Svara

Sv: Slumpa post ur databas

Postades av 2003-08-23 17:48:41 - Roger Aspelin

Hej

Har inte använt Acccess på väldigt länge, men i MS SQL server använder jag newid(). Du kan ju testa i Access om det funkar.

Annars skall det även fungera med rnd eller rand.

SELECT TOP 1 image.* FROM image ORDER BY NewId()


Svara

Sv: Slumpa post ur databas

Postades av 2003-08-23 19:34:01 - Teodor Linder

NewID() fungerar inte..

Sidan ligger inte cachad, har testat att uppdatera flera gånger. Den tar bara fram samma post hela tiden, förstår inte vad det är som är fel. :(


Svara

Sv: Slumpa post ur databas

Postades av 2003-08-26 21:30:37 - Teodor Linder

Borde inte denna fungera?

<code>
SQL = "SELECT TOP 4 image.* FROM image ORDER BY Rnd(image.ID)"
Set rs = Connection.Execute(SQL)
</code>

Hajar inte, får samma 4 poster hela tiden. Väldigt irriterande, för jag antar att det är nåt litet småfel bara. Har ju fått en hel del förslag här, men ingenting har fungerat. Hur brukar man oftast bära sig åt för att slumpa en eller flera poster från en Access-databas?


Svara

Sv: Slumpa post ur databas

Postades av 2003-08-27 00:20:19 - Daniel Larsson

<code>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../user_poll.mdb")

SQL = "SELECT Count(*) AS antal FROM image"
Set RecSet = Connect.execute(SQL)
Randomize
Set RecSet3 = Server.Createobject("ADODB.Recordset")
SQL3 = "Select * From image"
RecSet3.cursorlocation = 3
RecSet3.cachesize = 5
RecSet3.open SQL3, Connect
RecSet3.move Int(Rnd*RecSet("antal"))
%>

<%

RecSet.Close
Set RecSet = Nothing
Connect.Close
Set Connect = Nothing
%>
</code>


Svara

Sv: Slumpa post ur databas

Postades av 2003-08-27 19:49:15 - Teodor Linder

Tack! =)


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

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 794
27 960
271 761
2 394
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