• 01-03-2009, 16:13:04
    #1
    Üyeliği durduruldu
    Merhaba arkadaşlar,

    Kişisel sitem ile ilgili ufak tefek birkaç sorunum var, ama bir türlü işin içinden çıkamadım. Ya atladığım, gözüme çarpmayan ama çok kolay yerler var ya da bunlar gerçekten yapılması zor şeyler.

    Şu şekilde izâh edeyim:

    1. Etiketlerde mesela yalin unlu | İsa SARI - Kişisel Kimlik Sitesi için veri tabanında x id'li içeriğin etiketler kısmında "Yalın ünlü" geçiyor. Etiketler birbirinden , ile ayrılmış bir arada bulunuyor. Ben bunları ,'lerinden ayırıyorum ilgili yerde.

    Başlıkta bu şekilde, yani "Yalın ünlü" olarak yansıtabilir miyiz? Bir de etiketlerde çok ilgisiz sonuçlar çıkıyor mesela yalin unlu | İsa SARI - Kişisel Kimlik Sitesi sayfasında tek yazı çıkması gerekirken 117 tane çıkıyor. Tabiî bu benim kullandığım kodlarla ilgil, ama adreslerde TR karakter kullanamadığımızdan dolayı ve VT'de de karakterler Türkçe olduğu için böyle yapmak zorunda kaldım.

    Buna nasıl bir sistem geliştirebiliriz? Kullandığım kodlar şöyle:

    aranacak=tirekaldir(guvenlik(Sayfa(0)))
    
    ara = aranacak
    ara = replace(ara,"i","%")
    ara = replace(ara,"c","%")
    ara = replace(ara,"g","%")
    ara = replace(ara,"s","%")
    ara = replace(ara,"o","%")
    ara = replace(ara,"u","%")
    
    set yazigoster = server.createobject("adodb.recordset")
    sql = "select * from icerik where baslik like '%" &trim(ara)&"%' or ozet like '%" &trim(ara)&"%' or icerik like '%" &trim(ara)&"%' or etiketler like '%" &trim(ara)&"%' and yayinda=1 order by id desc"
    yazigoster.open sql, Bag, 1, 3
    2. Sayfa numaları 1'den başlayıp aralıksız gidiyor. Burada, mesela bildirgec.org | internet, tasarım, popüler kültür, teknoloji, mimler ve mucizeleri adresinde en altta olduğu gibi 3'ten sonra ... ile bölüp en son sayfayı vermek olur mu? Çünkü sayfa sayısı sürekli uzuyor ve ileride sorun olacak bu. Burada kullandığım kodlar ise şöyle:

    s = Sayfa(0)
    if s="" then
    s=1
    end if
                        
    set yazigoster = server.createobject("adodb.recordset")
    sql = "select * from icerik where yayinda=1 order by id desc"
    yazigoster.open sql, Bag, 1, 3
    
    yazigoster.pagesize = 10
    yazigoster.absolutepage = s
    say = yazigoster.pagecount
    for i=1 to yazigoster.pagesize
    if yazigoster.eof then exit for
    %>
    
    Buraya tablolar geliyor vs.
    
    <%
    yazigoster.movenext
    Next
    
    for z=1 to say
    if z=cint(s) then
    response.write "<b>"&z&"</b>"
    else
    response.write  "  <a href="""& StrUrl &"sayfa/"&z&"/"">"&z&"</a>  "
    end if
    next
    yazigoster.close
    set yazigoster=nothing
    yorumlar.close
    set yorumlar=nothing
    %>
    3. Bir içeriğe girdiğimizde (örneğin: Türkçede Ünlüler (Vokaller) ve Özellikleri, Sesli harfler, Vokaller, Ünlü harfler, Art Ünlüler | İsa SARI - Kişisel Kimlik Sitesi adresinde) ona ait etiket tablosunda en sonda bir virgül fazladan çıkıyor. Onu kaldırabilir miyiz? Burada kullandığım kodlar şöyle:

    <%
    Ayir = Split(yazigoster("etiketler"),",")
    for i = 0 to Ubound(Ayir)
    response.write "<a href="""& StrUrl &"etiket/"&Cevir(trim(Ayir(i)))&"/"">"&Ayir(i)&"</a>"
    If Not Ubound(Ayir) then
    response.write ", "
    End If
    Next
    %>
    Vereceğiniz cevaplar için şimdiden teşekkürlerimi sunuyorum.
  • 01-03-2009, 18:55:33
    #2
    Merhaba

    2. problem için sana maxiasp.com forumu öneririm. aramada "sayfalama" diye aratırsan eminim istediğini bulursun.

    3. problem için şöyle birşey yapabilirsin.

    <%
    yaz = ""
    Ayir = Split(yazigoster("etiketler"),",")
    for i = 0 to Ubound(Ayir)
    yaz = yaz & "<a href="""& StrUrl &"etiket/"&Cevir(trim(Ayir(i)))&"/"">"&Ayir(i)&"</a>"
    If Not Ubound(Ayir) then
    yaz = yaz & ", "
    End If
    Next

    yaz = replace(yaz,right(yaz,1),"")
    response.write yaz

    %>

    kolay gelsin
  • 01-03-2009, 19:37:24
    #3
    Üyeliği durduruldu
    Teşekkürler denom, MaxiASP'yi araştıracağım.
    3. problem için verdiğin kodları kullandım, fakat işe yaramadı maalesef. Şöyle bir şey çıkardı:



    Yine de teşekkür ederim.
  • 01-03-2009, 20:22:48
    #4
    hatalı yazmışım. sanırım şu anki çalışır

    <%
    yaz = ""
    Ayir = Split(yazigoster("etiketler"),",")
    for i = 0 to Ubound(Ayir)
    yaz = yaz & "<a href="""& StrUrl &"etiket/"&Cevir(trim(Ayir(i)))&"/"">"&Ayir(i)&"</a>"
    If Not Ubound(Ayir) then
    yaz = yaz & ", "
    End If
    Next

    uzunluk = len(yaz)-2
    yaz =(Mid(yaz,1,uzunluk))

    response.write yaz


    %>
  • 01-03-2009, 21:11:16
    #5
    Üyeliği durduruldu
    Evet, şimdi oldu. Sorunsuz çalışıyor. Çok teşekkür ederim, ellerine sağlık...