Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

rasgele veri nasıl çekerim???

a_sahin166

0
Onaylı Üye
Üye
Katılım
23 Şubat 2008
Mesajlar
0
Açılan Konu
51
Tepki puanı
0
Konum
x
merhaba arkadaşlar
benim bir program download sitem var.anasayfada rastgele 5 program göstermek istiyorum

<%
Set Sur = Server.CreateObject("ADODB.Connection")
Sur.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(""&vt_yol&"")



Set rs = Server.CreateObject("ADODB.Recordset")
sor = "Select * from programlar order by id desc "
rs.Open sor,Sur,1,3

i=0
do while i<5 and not rs.eof
%>

bu kodla programlar tablosundan son 5 id li programı alıyorum ama ben programlar tablosundan rastgele 5 program istiyorum kod nasıl olur
şimdiden saolun...
 

...::LorD::...

0
Onaylı Üye
Üye
Katılım
27 Aralık 2007
Mesajlar
2,109
Açılan Konu
124
Tepki puanı
2
Konum
cHeteM
örnek veriyorum

SELECT id,kullaniciadi FROM uyeler ORDER BY RAND() LIMIT 5
 

a_sahin166

0
Onaylı Üye
Üye
Katılım
23 Şubat 2008
Mesajlar
0
Açılan Konu
51
Tepki puanı
0
Konum
x
tam kodu yazabilirmisin anlayamadım
 

...::LorD::...

0
Onaylı Üye
Üye
Katılım
27 Aralık 2007
Mesajlar
2,109
Açılan Konu
124
Tepki puanı
2
Konum
cHeteM
asp yazmıyorum ama bu şekilde olsa gerek



<%
Set Sur = Server.CreateObject("ADODB.Connection")
Sur.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(""&vt_yol&"")



Set rs = Server.CreateObject("ADODB.Recordset")
sor = "Select * from programlar order by rand() "
rs.Open sor,Sur,1,3

i=0
do while i<5 and not rs.eof
%>
 

Permission

0
Onaylı Üye
Üye
Katılım
11 Aralık 2004
Mesajlar
6,458
Açılan Konu
327
Tepki puanı
3
Konum
izmir
merhaba arkadaşlar
benim bir program download sitem var.anasayfada rastgele 5 program göstermek istiyorum

<%
Set Sur = Server.CreateObject("ADODB.Connection")
Sur.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(""&vt_yol&"")

Set rs = Server.CreateObject("ADODB.Recordset")
sor = "Select * from programlar order by id desc "
rs.Open sor,Sur,1,3

i=0
do while i<5 and not rs.eof
%>

bu kodla programlar tablosundan son 5 id li programı alıyorum ama ben programlar tablosundan rastgele 5 program istiyorum kod nasıl olur
şimdiden saolun...

<%
Set Sur = Server.CreateObject("ADODB.Connection")
Sur.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(""&vt_yol&"")

Randomize()
RSayi= Int (100*Rnd)+1
Set rs=Server.CreateObject("Adodb.Recordset")
sor="Select * from programlar order by Rnd(" & -1 * (RSayi) & "*id)"
rs.Open sor, Sur, 1, 3

if rs.eof then
response.Write("<p align=""center"">Kayıt Yok</p>")
else
for i = 1 to 5
if rs.eof then exit for
%>
------- yazı ---------
<%
rs.movenext
next
end if
rs.close
set rs = nothing
%>


RSayi= Int (100*Rnd)+1 bu kısımdaki 100 db deki toplam veri sayısını veya 10000 gibi yazabilrisin.

for i = 1 to 5 5 Tane yayınlanıyor sen bunu istediğin kadar cogalt.
 

pamuk

0
Onaylı Üye
Üye
Katılım
1 Eylül 2004
Mesajlar
28
Açılan Konu
7
Tepki puanı
0
mssql ise veri tabanın Order By NEWID() diyerek select komutuna random veri çekebilirsin.
 

a_sahin166

0
Onaylı Üye
Üye
Katılım
23 Şubat 2008
Mesajlar
0
Açılan Konu
51
Tepki puanı
0
Konum
x
mdb veritabanı
hala çözüm bulamadım
yardım lütfen...
 

Permission

0
Onaylı Üye
Üye
Katılım
11 Aralık 2004
Mesajlar
6,458
Açılan Konu
327
Tepki puanı
3
Konum
izmir
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
<tr>
<td width="100%">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber2">
<%
Set Sur = Server.CreateObject("ADODB.Connection")
Sur.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("vt1.mdb")

Randomize()
RSayi= Int (100*Rnd)+1
Set rs=Server.CreateObject("Adodb.Recordset")
sor="Select * from programlar order by Rnd(" & -1 * (RSayi) & "*id)"
rs.Open sor, Sur, 1, 3

if rs.eof then
response.Write("<p align=""center"">Kayıt Yok</p>")
else
for i = 1 to 5
if rs.eof then exit for
%>
<tr>
<td width="100%"><b><%=rs("a")%></b></td>
</tr>
<tr>
<td width="100%">- <%=rs("b")%></td>
</tr>
<%
rs.movenext
next
end if
rs.close
set rs = nothing
%>
</table>
</td>
</tr>
</table>

al deneme yaptım buyur bak http://www.yenilife.com/demo/demo.asp
ben senin db adını bilmediğim için.
Server.MapPath(""&vt_yol&"") yerine ben Server.MapPath("vt1.mdb") bu şekil bag kurdum..

senin hata büyük olasılık bu db yolu ile ilgili dir kotrol et iyice.. yukarıdaki demo sayfası yukarda verdiğim kodla aynı...
 

annudora

0
Onaylı Üye
Üye
Katılım
6 Mart 2006
Mesajlar
2,016
Açılan Konu
308
Tepki puanı
2
Konum
@nkara
Randomize()
RSayi= Int (100*Rnd)+1
Set rs=Server.CreateObject("Adodb.Recordset")
sor="Select * from programlar order by Rnd(" & -1 * (RSayi) & "*id)"
rs.Open sor, Sur, 1, 3

Sanırım burda rasgele sayı limitini 100 değilde RS.RECORDCOUNT a göre ayarlamak gerekecek.
 
Üst