Merhaba. Bir sayfayı birden fazla kategoriye kaydetme ile ilgili bir işlem yapıyorum. Bir SAYFALAR bir KATEGORILER bir de ara tablom var. SayfaID, KategoriID tuttugum bir ara tablo. Kaydetmede sorunum yok.



Sadece bir sayfayı düzenlerken o sayfanın kayıtlı olduğu kategoriyi seçili gösteren bir kodlama kullanıyorum. Tüm kategorileri listeliyorum ve sayfanın kayıtlı olduğu CHECKBOX lar seçili geliyor.


Güncellemede de sorunum yok. Kısaca ekleme ve güncellemde sorun yok işlemler sağlıklı çalışıyor. Tek sorunum ilgili sayfayı güncelle deiğimde işlem yaptığım fonksiyonum acayıp yavaş çalışıyor. Bu fonksiyonun çalıştığı yeri devre dışı bırakınca sistem gayet seri çalışıyor. Yanı sorun fonksiyonumda. Bu fonksiyonu daha farklı nasıl yazabilirim hızlı çalışması için.


Sayfayı düzenlediğim yerde gösterdiğim liste aşağıda.

        <% set kategori2 = bag.execute("select id,sayfaadi,altkatid from sayfalar where id <> "& turna("id") &" and altkatid > 3 Order by sayfaadi")
        if kategori2.eof then
        else
        do until kategori2.eof
        %>
        <label class="label <% If KIDKontrol(turna("id"),kategori2("id")) = True Then Response.Write("bolder")%>"><input type="checkbox" name="altkatid2" <% If KIDKontrol(turna("id"),kategori2("id")) = True Then Response.Write("checked")%> value="<%= kategori2("id") %>">(<%= kategori2("id") %>) - <%= trim(kategori2("sayfaadi")) %></label>
        <% kategori2.movenext:loop: end if: kategori2.Close:Set kategori2 = Nothing %>

Bu kod için kullandığım fonksiyonum da aşağıda
Function KIDKontrol(byval sayfaid,byval altkatid2)
    set icozelliklistesix = bag.execute("select Count(id) FROM urunaltkategorilistesi where sayfaid = " & sayfaid & " and altkatid = " & altkatid2 & "")
    ICids = icozelliklistesix(0)
    If ICids > 0 Then
        sonucIC = True
    Else
        sonucIC = False
    End If
    KIDKontrol = sonucIC
End Function
Ara tablo dediğim tablo : urunaltkategorilistesi