webForumDet fria alternativet

måste finnas något bättre sätt...

ASP

5 svar · 268 visningar · startad av dendålige

Medlem sedan jan. 2003188 inlägg
Frågan#1

det måste ju finnas något bättre sätt än detta:

<%SQL = "Select id from anvandare where kon = 'F'"
Set RecSet = connect.Execute(SQL)
      
	  arrSlumpa = RecSet.GetRows()
      Randomize
	  
SQL = "Select namn,bild,kon,alder from anvandare where id = '"& arrSlumpa(0,Round(Rnd*Ubound(arrSlumpa,2))) & "'"
Set RecSet = connect.Execute(SQL)
FDatum = RecSet("alder")
Alder = DateDiff("yyyy", FDatum, Now) 
IF month(FDatum) >= month(now()) AND day(FDatum) > day(now()) then 
Alder = Alder - 1 
End if 
Response.write "<a href=person.asp?medlem=" &RecSet("namn") &"><img src='../bilder/"&RecSet("bild")&"' alt="&RecSet("namn")&"&nbsp;"& RecSet("kon") &""& alder &" border=0 width=80 height=107></a> "

SQL = "Select namn,bild,kon,alder from anvandare where id = '"& arrSlumpa(0,Round(Rnd*Ubound(arrSlumpa,2))) & "'"
Set RecSet = connect.Execute(SQL)
FDatum = RecSet("alder")
Alder = DateDiff("yyyy", FDatum, Now) 
IF month(FDatum) >= month(now()) AND day(FDatum) > day(now()) then 
Alder = Alder - 1 
End if 
Response.write "<a href=person.asp?medlem=" &RecSet("namn") &"><img src='../bilder/"&RecSet("bild")&"' alt="&RecSet("namn")&"&nbsp;"& RecSet("kon") &""& alder &" border=0 width=80 height=107></a> "

-II-
tills det blir tolv stycken...
%>

meningen är att det ska slumpa ut 12 tjejer med bilder....
och det borde kunna göras på något bättre sätt än att köra ny sql fråga på varje bild...

Medlem sedan aug. 20012 349 inlägg
#2

sök på slumpa bild i forumet så får du många träffar, den här frågan har ställts många gånger ;)

Medlem sedan jan. 2003188 inlägg
#3

alltså nu har jag kollat igenom alla möjliga andra frågor som rör samma sak... men jag lyckas inte klura ut hur jag ska göra... snälla... kan inte någon hjälpa mig med denna?

Medlem sedan sep. 2002366 inlägg
#4

Kör du MySQL?
Isåfall ska det nog gå med nåt sånt här:

SQL = "SELECT id,namn,bild,kon,alder FROM anvandare WHERE kon = 'F' ORDER BY RANDN()"
Set RS = Connect.Execute(SQL)
n = 0
Do While n < 12 And NOT RS.EOF
%>dina länkar o .s.v<%
RS.MoveNext
n = n + 1
Loop

Har inte kollat exakt om det var det här du ville, men jag gissar det ;) Har inte testat det heller..

Medlem sedan jan. 2003188 inlägg
#5

hmm.. jo det där funkade på det sättet att ta fram.. men den slumpar ju inte riktigt fram någon =S

vad menar du med order by RANDN()?

Medlem sedan sep. 2002366 inlägg
#6

Order by RANDN() eller RAND() eller nåt sånt ordnar fram "slumpat" i MySQL...
Testa med RAND() istället.

264 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)