Kategorileme Sorunu (Asp)
-
s.a sayın müridler
öncelikle alp ve zümsük karkdeşlerimin ilgi ve yardımlarına teşekkür ederek konuma başlıyorum
şimdi veritabanımda
ana_kategoriler adlı tablom var bunun içindede
----------------------------------------------------------
id = otomatik sayı
kategori_adi = metin
kategori_id = metin
-----------------------------------------------------------
altkategoriler adlı tablom var bunun içindede
----------------------------------------------------------
id = otomatik sayı
ana_kategori = metin
alt_kategori = metin
alt_kategori_id = metin
----------------------------------------------------------
olaraktan field larımız bulunmakta
şimdi birde yönetim paneli çaktım bu tablolara ama şöleki
veri tabanından ana kategorileri sildiğim zaman buna bağlı olan alt kategorileri ve kayıtlarıda silmek istiyorum
aynı zamanda alt kategori silindiğinde alt kategoride bulunan kayıtları silmek istiyorum
kategoriyi siliyorum alt kategoriler listelenmiyor fakat db de duruyor nasıl düzelte bilirim die sorucaktım
birde
yeni kategori ekliyorum ana kategoriyi seçtikten sonra alt kategoriyi seçicem
<a href="alt_kategori_listesi.asp?kategori=<%=klistele("kategori_id")%>&anakategori=<%=klistele("kategori_adi")%>"><span style="font-size: 10pt"><%=klistele("kategori_adi")%></span></a>
diyorum ama olmuyor bunlarla ilgili ne yapabilirük ? -
Web dilleri alanim degil ama sorunun sql tarafli.Yapman gereken kayit silme sorgunu birazcik modifiye etmen.
Orn:
====Table1====Anakategori_ID
Kategoriadi====Tablo2====
Altkategori_ID
Anakategori_ID (table1 deki ID ile iliskili olacak)Sadece yapman gereken silme sorgunda Tablo2 yide secip Where Anakategori_ID=...
diye butun tablolarda sildigin anakategoriye ait kayitlari sildirmek.
-
anladığım kadarı ile
/doğa resimleri / deniz - ova - dağ - güneş vs...
var.Doğa resimlerini sildiğinde deniz kategorisi güneş, ova, dağ mı silinsin istiyorsun ?
Onun için atıyorum islem.asp?kategori=sil&id=1 dedik
if request.querystring("kategori") ="sil" then
Set rec = Server.CreateObjecT("ADODB.RecordSet")
ksql = "Delete FROM resimkategori WHERE kategoriid="&(request.QueryString("id"))
rec.open ksql,vtb,3,3Set rec = Server.CreateObjecT("ADODB.RecordSet")
ksql = "Delete FROM resimkategori WHERE id="&(request.QueryString("id"))rec.open ksql,vtb,3,3
end if
diyerek yapabilirsin.Burdaki ilk kategoriid dediğimiz atıyorum doğa resimleri nin kategorisi 1 onun alt kategorisine (deniz,ova,vs..) kategoriid deyip hepsini 1 yapacaksın.Böylece doğa resimlerine ait olan hepsini siler.
--
Öte yandan ekleme sorununda ne çıkıyor ?
-
zümsüğün dediğini yaparsan sadece 1 alt kategori silersin.
yani diyelim 10 tane alt kategorin var zümsüğün kod ile sadece 1 tanesini silersin. o koda döngü eklemen lazım. ozaman çalışır ve hepsini siler
-
:S:S hadi ya bir kayıt mı siliyor :S
mq bende kategoriid si 1 olan hepsini siler sanıyordum hea..
-
pratikte öle değil işte (:
-
olm pratiğini napcan :D:D:D
özel mesajları sil diyordum bununla siliyor konuda denedim konuyuda siliyor aushdfoıfasd
-
siler olm silmez değil ama toplu katliam için
For i=1 To 1
Set strSQL = sur.Execute("DELETE from TABLO where kid="&id&"")
Set TopluSil = sur.Execute(strSQL)
'ASPDEPO.ORG
Next
response.redirect Request.ServerVariables("HTTP_REFERER")şunun gibi bi kod kullanman lazım :)
seninki 1 tane siler.
-
senin dediğin başka birşey herhalde.
atıyorum mesaj var özel emsaj oku var 0-1 değerini giriyoruz.
delete from pm where oku=1
dedik burda bütün oku=1 olan mesajları siliyor.Ama kategori falan diyorsan bilmiyorum.
He dersinki zumsuk o performanslı değil ...
-
olm o siler silmez değil ama olay şu
diyelim
ana kategori foxxly
bunu 3 tane alt kategorisi var.
emel 3m3L 3meL
şimdi buradaki alt kategorilerin ortak noktası hepsinin altid leri eşit mesela örnek verdim altid i
senin kod ile sadece foxxly ana kategorisini ve emel alt kategorisini silersin.
ama benim verdiğim ile tüm alt kategorileri silersin.
özel mesajlarda filan çalışır sorun olmaz çünkü bir tane mesaj siliyorsun. ama olay çoklu silmeye girdimi farklı oluyo
yada onun gibi bişe işte :D -
FOXXLY bunu yazdı:
-----------------------------siler olm silmez değil ama toplu katliam için
For i=1 To 1
Set strSQL = sur.Execute("DELETE from TABLO where kid="&id&"")
Set TopluSil = sur.Execute(strSQL)
'ASPDEPO.ORG
Next
response.redirect Request.ServerVariables("HTTP_REFERER")şunun gibi bi kod kullanman lazım :)
seninki 1 tane siler.
-----------------------------yok artık recordsetle kayıt silme :| napıonuz siz ? (zumsuka diom foxxli sen anla i to 1 noluo ) :|
baglanti.Execute("delete from TABLO where kid="&id&"")
tek kodla hepsi silindi işte :/ alt kategorileri silmek için yine aynı koda ihtiyaç var
ancak uğraşmak istemeyen olursa tablo ilişkilendirme var o sayede tek tabloda kayıt silip diğer tablolardan da o kayıta ait verileri tak tak tak siliyosunuz
