hej!
Jag har ett fotoalbum. Jag hämtar olika kategorier ifrån en databas...sedan hämtar jag bilderna ifrån en annan tabell.
Nu är dte så här...jag vill slumpa ut 8 bilder...
Alltså...jag vill kolla igenom alla kategorierna och hämta en bild ifrån varje men är det då bara 5 bilder utslumpade så vill jag att den fortsätter slumpa ut 3 till ifrån kategorierna?
Förstår ni?
Alltså 8 bilder, ifrån olika kategorier, finns där endast 5 kategorier så ska den fortsätta slumpa ut tills den får ut 8 bilder...
hej!
har lite kod där jag loopar ut 1 bild från varje kategori....men just nu är det bara 4 kategorier så då loopas bara 4 bilder ut....
Men tänkte mest på hur man ska tänka....ska man lägga allt i forloop eller? Lite tips!
<%
Set RS=Server.CreateObject("Adodb.RecordSet")
Sql="Select top 6 * from smy_kat order by namn"
RS.Open SQL, connect, 3, 1
antal=RS.recordcount
if RS.EOF then
else
do until RS.EOF
smnamn=RS("id")
Set RS2=Server.CreateObject("Adodb.RecordSet")
Sql2="Select top 1 * from smy where belong="&smnamn&" Order by namn desc"
Set RS2=Connect.Execute(Sql2)
if RS2.EOF then
%>
<li><a href="?page=4&smykat=<%=RS("ID")%>" title="<%=RS("namn")%>"><img src="img/saknas_bild.jpg" alt="Tyvärr ingen bild" width="105" height="158" /></a></li>
<%else%>
<li><a href="?page=4&smykat=<%=RS("ID")%>" title="<%=RS("namn")%>"><img src="img/<%=RS2("bild")%>" alt="Tryck här för att titta närmare på <%=RS2("namn")%>" width="105" height="158" /></a></li>
<%
end if
RS2.Close
set RS2=nothing
RS.MoveNext
Loop
end if
RS.Close
set RS=nothing
%>
Den loopar jo ut likamånga bilder som det finns kategorier...men det javill är att om den bara finns 4 kategoreri så ska den loopa ut allting en gång till och ta en annan bild i kategorierna...och om det finns 6 kategorier så ska dne först slumpa 6st bilder och sedan slumpaut 2 stycken till!
Hittade denna koden här på webforum men får inte så att den slumpar ut 8 st istället för 5...(just nu finns där bra 5 kategorier)
<%
maxnumber = 10
strSQL = "SELECT * FROM smy_kat "
set rs = connect.execute(strSQL)
if not rs.eof then
arr = rs.getrows()
items = ubound(arr,2) + 1
if items < maxNumber then maxNumber = items
dim choosen()
redim choosen(maxnumber-1)
randomize
cnt = 0
Do Until cnt = maxnumber
RndNumber = Int(Rnd * items)
found = false
for i = 0 to cnt - 1
if choosen(i) = rndNumber then
found = true
exit for
end if
next
if not found then
choosen(cnt) = rndNumber
cnt = cnt + 1
response.write arr(0,rndNumber) & "<br>" & arr(1,rndNumber) & "<br>"
end if
loop
else
response.write "?"
end if
rs.Close
Set Rs = Nothing
%>
Är dte någon som vet hur jag ska ändra för att få det att fungera!
263 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e