Asp Random Kodu Eksik Gösteriyor
-
Arkadaşlar asp ile random veri çekiyorum fakat eksik listeleme yapıyor şöyle ki
Set rs = Server.CreateObject("ADODB.RecordSet")
SQL = "Select * from tablo where yas=69"
If Not IsNumeric(Request.QueryString("id")) Then
Response.Redirect ("default.asp")
End If
rs.open SQL,baglanti,1,3
Randomize
rastgele = Int((Rnd*Rs.RecordCount )+0 )
Rs.Move(rastgele )
do while not rs.eof
%>
<%=rs("resim1")%>
<%
rs.movenext
loop
rs.close
%>
fakat çıktı her seferinde değişmesine ramen eksiliyor bazen tek çıktığı bile oluyor. Nedir bu işin hikmeti?
-
85 tane veri var diyelim. sen o şekilde gidip 83 veya 84 den başlatabilirsin randomu. Hatalı bir randomize olur bu da.
<%
set rs = server.createobject("ADODB.Recordset")
sql = "select * from menu order by Rnd(-(1000*id)*Time())"
rs.open sql,baglanti,1,3
while not rs.EOF
%>
<%=rs"adi"%>
<%
rs.Movenext
Wend
rs.Close
Set rs= Nothing
%>yukardaki kod accessde sağlıklı çalışıyor. mssql kullanıyorsan ORDER BY newid() şeklinde de kullanabilirsin. belirli bi sınırlama koyacaksan sql cümlene top ekle.
-
<%
Set vt = Server.CreateObject("ADODB.Connection")
vt.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/haber.mdb")
set rs = server.createobject("ADODB.Recordset")
sql = "select * from detay where tur=" &" 'Spor' "
rs.open sql,vt,1,3
Randomize
rastgele = Int((Rnd*Rs.RecordCount)+0)
Rs.Move(rastgele)
%><meta http-equiv="refresh" content="5; URL=oku.asp?id=<%response.write Rs("id")%>">
zamanında böle bisey yapmıstım calısıyor böyle bisey deneyebilirsin..
-
ufkum açıldı :) teşekkür ediyorum.
