• 04-02-2009, 00:21:21
    #1
    Şimdi döngüm öncelikle şu şekilde

    <%
    set kayit=baglanti.execute("select * from dusklub order by id desc" )
    %>

    <%
    for i=0 to 5
    if i=5 then exit for
    %>

    <div class="haber1" style="width: 257px"><%=kayit("baslik")%></div>
    <div class="habermetin2" style="width: 257px; height: 24px">
    <img src="fotos/<%=kayit("foto")%>" width="68" height="41" align="left" />
    <span class="habhuc1">
    <%=kayit("haber")%></span>
    </div>

    <%
    kayit.movenext
    next
    baglanti.close
    %>

    Veritabanında sondan ilk 5 kayıdı listeliyor

    yapmak şu sondan bir önceki 5 kayıdı listelemek istiyorum ama bitürlü başaramadım...

    sabah dokuzdan beri aynı işle uğraşıyorum dağlar tepeler devirdim ancak beynim ambole oldu burda kitlendim

    Allah rızası için biri yardım etsin

    yardımlarınız için şimdiden teşekkürler...
  • 04-02-2009, 02:44:19
    #2
    Alıntı
    <%set kayit=baglanti.execute("select top 6 * from dusklub order by id desc" )
    x=0
    while not kayit.eof
    x=x+1
    if x<>1 then %>
    <div class="haber1" style="width: 257px"><%=kayit("baslik")%></div>
    <div class="habermetin2" style="width: 257px; height: 24px">
    <img src="fotos/<%=kayit("foto")%>" width="68" height="41" align="left" />
    <span class="habhuc1">
    <%=kayit("haber")%></span>
    </div>
    <%end if
    kayit.movenext
    wend
    %>
    sql yönünden de mutlaka bir çözümü wardır ancak çıkaramadım..
    ayrıca

    set kayit=baglanti.execute("select * from dusklub order by id desc" )

    dersen önce veritabanındaki tüm satırları alıp öyle işlem yaparsın.. bu da kayıt sayısı arttıkça işlemi yawaşlatır..
    top kullanırsan yalnızca ilk 6 satırı alırsın.. bu işlemi kayıt sayısı yukarıdaki kadar etkilemez.. gerekenden fazla weri çekme db'den..

    yukarıdaki işini görecek peki bnm hatam neydi dersen..
    for i=0 to 5
    if i=5 then exit for
    kısmında 2. satır gereksiz.. çünkü zaten to 5 diyerek 5'e kadar döneceğini belirtmişsin..
    yine de çalışırdı ama gereksiz.. asıl hatan ise for'un içine i=i+1 yazmamışsın.. i hep 0 olduğu için bütü veriyi listeler sana burda..

    yeterince açıklayıcı olmuşumdur umarım.. kolay gelsin..
  • 04-02-2009, 22:27:55
    #3
    Çok teşekkür ediyorum...

    Eline sağlık. Uyarılar içinde ayrıca teşekkürler. Kara kara düşünüyordum kayıtlar şişince napıcam diye

    Yöntem aklımın ucundan dahi geçmemişt i