Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Kategori listeleme deki sorunum.

Konu, 'ASP' kısmında Caylakkk tarafından paylaşıldı.

  1. Caylakkk

    Caylakkk Yeni Üye

    Kayıt:
    18 Haziran 2008
    Mesajlar:
    24
    Beğenilen Mesajlar:
    0
    Merhaba arkadaşlar;
    kategori listelemede bir sorunmum var belkide çok çok basit birşeydir ama ben bir çözüm bulamadım . sorunumu şöyle izah edeyim

    veri tabanında 2 alan var kat_id, tanim (iki alanda metin)

    forumumda içinde(yani tanim kısmında) xxxx geçenleri listele diyorum sorgu çalıştı ve listeleme başladı

    kat_id , tanim
    kat_id , tanim
    kat_id , tanim
    kat_id , tanim ....

    şeklinde

    fakat ben aslınta şu şekilde istiyorum takıldığım nokta şu listeleme yaparken kat_id 1 her kategori için 1 kere yazsın ama tanimlari sıralasın .
    yani şu şekilde

    22(kat_id)
    tanim
    tanim
    tanim

    23(kat_id)
    tanim

    45(kat_id)
    tanim
    tanim
    tanim

    sorgulama yaprken hangi kat_id in geleceğini bilmiyorum. yani 500 tane tanim satirim var her tanim satirindan once kat_id var. sorgulamayı yaparken kat_id ye baktırmıyorum tanim içinde şu kelime geçiyorsa getir yaz diyorum. ama bahsettiğim gibi kat_id 1 defa yazılacak ve bu kat_id e bağlı içinde aradğım harf/kelime/sayı geçen kayıtlar altına sıralanacak. ve sonraki kayıta geçip bu işlem devam edecek.

    şimdiden bu uzun soruyu okumuş olanlara ve özelikle cevap verenlere sonusz teşekurler.
     
  2. merakli

    merakli Daimi Üye

    Kayıt:
    28 Şubat 2007
    Mesajlar:
    2,004
    Beğenilen Mesajlar:
    1
    kat_id in metin olmasının anlamı nedir id genelde otomatik artan sayı olur.
    bu dediğin işlemi en iyi yapabilmen için bir örnek sayfa vereyim indirip ordan bak ve mantığını kendi kodlarına uygula.
    http://www.snitz.com/ dan bedava olan forum kodlarını indir sistemine kur admin alanınan gir orda Category/Forum Order Configuration linkine tıkla bahsettiğin şekilde bir sayfa gelecektir. bu sayfa admin_config_order.asp dosyası içini açıp veritabanıyla birlikte incele... mantığını anlayacaksın...

    Snitz biraz karışık gibidir ancak bir kaç gün kurcalarsan çok şey öğrenebilirsin.
     
  3. Caylakkk

    Caylakkk Yeni Üye

    Kayıt:
    18 Haziran 2008
    Mesajlar:
    24
    Beğenilen Mesajlar:
    0



    kat_id neden sayi değil; kat_id a1 a5 de yazabiliyorum yazmam gerekebiliyor bazı durumlarda . illaki 2 farklı id calişmak istemedim. bu nedenle kat id numara değil. ama bunun bi sorun teşkil edeceğini sanmıyorum. max 2 karakterli turkçe karakter içermeyen bşluk yada özel akrakter içermeyen bi satir.

    ayrıca bu snitz formu inceleyen olduysa yada farklı bir yolla soruma cevap verebilecek arkadaş var ise lütfen yardımcı olun tekrar teşekurler saygılar.
     
  4. Caylakkk

    Caylakkk Yeni Üye

    Kayıt:
    18 Haziran 2008
    Mesajlar:
    24
    Beğenilen Mesajlar:
    0
    yokmu cevap? kimse bu konuda bilgili değilmi ?
     
  5. CodeMania

    CodeMania Müslüm Yıldırım

    Kayıt:
    4 Ekim 2004
    Mesajlar:
    1,490
    Beğenilen Mesajlar:
    1
    Meslek:
    Programcı
    Şehir:
    34330
    böyle bir kategorileme için 2 kez sorgu çalıştırmalısın. daha doğrusu 2 farklı sorgu çalıştırmalısın. create view yöntemini kullanabilirsin ancak doğru bir döngüyle bunada gerek kalmayacaktır. 2 sorgudan kastım şu dur. önce likle ayrıştırma yapmamız lazım değilmi? 1 kez id sıralatmak istiyoruz ve bu idlere bağlı içeriğinde x sözcük kelime yada jarf geçen kayıtları listeyeleceğiz.? o zaman şunu yapmalıyız ilk önce içinde su geçen kayıtları bul id lerini al bir köşede tut. bunuda şöyle bir sorgu ile yapabiliriz

    Kod:
    Select Distinct kat_id from tabloadi where tanim like '%" &ara& "%'"
    
    bu sorguda elimizdeki değer kat_id ama bu kat_id suna bağlı kalınarak bulundu= taniminda aradğımız kelimeler geçenler. ve distinct diyerek gelecek olan 10 tane ayni kat_id yi 1 kere tekrar etmesini sağladık

    evet 1 sorgumuzu oluşturduk simdi yapacağımız işlem bir döngü oluşturmak
    Kod:
    for i = rs.recordcount
    
    sorgumuzun kayıt sayısı kadar bir döngüye girdik

    dongu içindeyken bir sorgu daha oluşturuyoruz
    Kod:
    "Select *  from tabloadi where kat_id='"& rs("kat_id") &"' and tanim Like'%" & ara & "%'"
    
    bu sorguylada daha önce bulduğumuz id leri kullanarak fazla kayıtlardan ayıkladık. ama sunuda unutmadık tanim= aradığımız kelime diyerekte sadece idlerin ayıklanmasıyla kalmayan bir sorgu oluşturduk yani 44 nolu kat id nin 50 tane kayıdı var ise 50 sininde azılmasını önledik. bu 50 kayıttan sadece içeriğinde aradğımız kelime geçenleri ni bu idnin altına yazdırmış olduk. tabi bunuda yine bir döngüye girerek sağlayabilriz.


    umarım yardımı olmuştur butür kategori soruları pek sorulmuyor nerdee işe yarar oda başka bir olay :) merak ettim böyle bir sorguyu nerede kullanacaksınız acaba bi portal yada forum sistemimi yazıyorsunuz?