çoklu randomize kullanımı

0
Onaylı Üye
Üye
Katılım
9 Şubat 2006
Mesajlar
219
Tepki puanı
0
Sitemde Ardı Ardına Dort Tane randomize kullanmak istiyorum kullandıgım kod asagıda


<%
dim baglanti,veriyolu,verial,kayit,sayi,sayi2

set baglanti = Server.CreateObject("ADODB.Connection")
veriyolu="Provider = Microsoft.Jet.OLEDB.4.0;data source = "& Server.MapPath("xxx.mdb") &";"
baglanti.open(veriyolu)

set verial = Server.CreateObject("ADODB.Recordset")
verial.open "SELECT * FROM tablo",baglanti,1,3

kayit = Verial.RecordCount

%>
<%

randomize
sayi = cint(kayit * Rnd)

if sayi > kayit Then
sayi2 = sayi -1
verial.Move(sayi2)
else
verial.Move(sayi)
end if

%>


Burada Tablolar Var Veriler İçin

<%
verial.close
set verial=nothing
baglanti.close
set baglanti=nothing
%>


sql yi baglantıyı kapatıyorm burada boyle oldugu zaman gayet guzel calısıyor fakat ben bunu 4 e cogaltmak istiyorum bir turlu yapamadım nasıl yapabilirim
 
0
Onaylı Üye
Üye
Katılım
11 Ekim 2005
Mesajlar
618
Tepki puanı
0
Konum
istanbul
iyinet -rep vermişsin arkadaşla daha önce bu konuyu msnde konuşmuştuk sanırım bana ulaşamadı o yüzden msn'e gel dedim sağlık olsun :)
 
0
Onaylı Üye
Üye
Katılım
4 Mart 2005
Mesajlar
5,290
Tepki puanı
0
Konum
Kadıköy
For döngüsü ile istediğiniz kadar döndürebilirsiniz. Döngünün başlangıcına

For i = 0 to 3

Sonuna ise Next koymanız yeterli.
 
0
Onaylı Üye
Üye
Katılım
11 Ekim 2005
Mesajlar
618
Tepki puanı
0
Konum
istanbul
<%
veri=conn.execute("select count(id) from fikra")
kayit=cint(veri(0))
set rs=conn.execute("select * from fikra")
for i=1 to 3
randomize
sayi = cint(kayit * Rnd)
baslik = rs("baslik")
rs.Move(sayi)
%>
<%=baslik%><br>
<%next%>



kendine göre uyarla
 
0
Onaylı Üye
Üye
Katılım
11 Ekim 2005
Mesajlar
618
Tepki puanı
0
Konum
istanbul
:) aynı gelme olasılığı rakam arttıkça artarmı trekstra :)
 
0
Onaylı Üye
Üye
Katılım
9 Şubat 2006
Mesajlar
219
Tepki puanı
0
by tuncay sorunu halletti ona ve trextraya cok tesekkurler +rep
 
0
Onaylı Üye
Üye
Katılım
19 Aralık 2004
Mesajlar
705
Tepki puanı
0
Konum
Izmir
bu yazdığınız kod hatalı birkaç denemden sonra hatasını görüceksiniz zaten veri tabanında kayıt bulunamadı hatası vericektir. ben aşağıdaki kodu kullanıyorum şimdiye kadar hiç bir hata almadım tek problem aynı kayıtlarıda gösteriyor bende onunla uğraşıyorum bir türlü çözemedim ama bu kodda her hangi bir sorun yok diğer kodda kayıt yok hatasıyla sık sık karşılaşılacaktır istersen 5-10 kayıtlı bir veri tabanında dene sonucu gör


<%Set rs = Server.CreateObject("ADODB.Recordset")
sql = "Select id, adi From kayitlar"
rs.Open sql,dbcon, 1,3
toplam = CLng(rs.RecordCount)
For i = 1 to 5
Randomize
goster = Int((RND * toplam) + 1)
rs.Absoluteposition = Cint(goster)%>
Response.write(rs("adi"))
<%Next
rs.Close
Set rs = Nothing%>
 
0
Onaylı Üye
Üye
Katılım
11 Ekim 2005
Mesajlar
618
Tepki puanı
0
Konum
istanbul
darkman kodu düzelttik zaten :) arkadaş kullanıyor sağlıklı bi şekilde aynı kayıtları göstermeyide engelledik kodun çalışan hali www.izlemelisin.com da
 
0
Onaylı Üye
Üye
Katılım
11 Ekim 2005
Mesajlar
618
Tepki puanı
0
Konum
istanbul
darkman kodları burdan paylaşayım arkadaşınkini for next döngüsü ile yaptığımızda aynı resimler çok sık denk geliyordu farklı recordset ler kullanarak 4 randomize kodu kullandık sorun giderildi örnek kod aşağıdadır.

<%


set verial = Server.CreateObject("ADODB.Recordset")
set verial1 = Server.CreateObject("ADODB.Recordset")
set verial2 = Server.CreateObject("ADODB.Recordset")
set verial3 = Server.CreateObject("ADODB.Recordset")

verial.open "SELECT * FROM tablo",baglanti,1,3
verial1.open "SELECT * FROM tablo",baglanti,1,3
verial2.open "SELECT * FROM tablo",baglanti,1,3
verial3.open "SELECT * FROM tablo",baglanti,1,3

kayit = Verial.RecordCount

%>
<%

randomize

sayi1 = cint((kayit * Rnd ) +0)
verial.Move(sayi1)

sayi2 = cint((kayit * Rnd ) +0)
verial1.Move(sayi2)

sayi3 = cint((kayit * Rnd ) +0)
verial2.Move(sayi3)

sayi4 = cint((kayit * Rnd ) +0)
verial3.Move(sayi4)


%>
1. rnd

<%=verial("resim")%>

2. rnd

<%=verial1("resim")%>

3. rnd

<%=verial2("resim")%>

4. rnd

<%=verial3("resim")%>



bu şekilde kesinlikle aynı resimler denk gelmiyor
 
Geri
Üst