Avatar billede Slettet bruger
01. januar 2005 - 14:59 Der er 5 kommentarer og
1 løsning

At vælge et random recordset i MySQL-database

Hej,

Jeg har et lille problem. Jeg vil gerne have min hjemmeside til at vælge et enkelt billede ud fra min database. Jeg bruger følgende kode, som ikke helt virker.

<%
    SQL = "select rnd * from galleri_images WHERE imagecat = '"& rs("ID") &"' DESC LIMIT 0,1"
    Set rsrandomimage = Conn.Execute(SQL)
    response.write("<img src='"& rsrandomimage("url") &"'>")
%>

imagecat og url er et tekstfelt.
Avatar billede Slettet bruger
01. januar 2005 - 15:01 #1
DESC skal selvfølgelig væk.

Men er der nogen forslag til hvad der kan være galt? Hvordan kan jeg vælge et random billede?
Avatar billede kalp Novice
01. januar 2005 - 15:12 #2
det er ikke mysql database.. men måske kan koden hjælpe dig alligevel?

<%
  Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")
  Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM galleri_images WHERE ?
rs.Open strSQL, Conn, 3, 1
rndMax = rs.RecordCount
Randomize
rndNumber = Int((RND * rndMax))  'Find et random nummer
rs.Move rndNumber 'Flyt til den valgte record
%>
                  response.write("<img src='"& rsrandomimage("url") &"'>")

                    <%  rs.Close
  Conn.Close
  Set rs = Nothing
  Set Conn = Nothing%>
Avatar billede ellebaek Nybegynder
01. januar 2005 - 15:26 #3
<%
    SQL = "select * from galleri_images WHERE imagecat = '"& rs("ID") &"' ORDER BY rand() LIMIT 0,1"
    Set rsrandomimage = Conn.Execute(SQL)
    response.write("<img src='"& rsrandomimage("url") &"'>")
%>

Sådan her skulle jeg mene det er i mysql..
Avatar billede ellebaek Nybegynder
01. januar 2005 - 15:27 #4
det er lidt overkill på serveren at hente alle poster ud fra databasen i stedet for blot at tage en enkelt..
Avatar billede Slettet bruger
01. januar 2005 - 17:51 #5
Mange tak, ellebaek :) Det virker. Du må gerne oprette et svar.
Avatar billede ellebaek Nybegynder
01. januar 2005 - 22:37 #6
jeg smider et svar her ;-)
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