Şimdi Ara

Asp.net Çoklu filreleme

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
7
Cevap
0
Favori
983
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba arkadaşlar,

    asp.net ile bir proje geliştiriyorum. Fakat bir konuda yardıma ihtiyacım var. Asp.net sayfasında veri tabanından yüzlece ürünü çekiyorum. Sayfanın üst tarafında da ürünlerin genel özellikleri yazıyor. Fiyat aralığı, kategorisi, cinsi vs. ben bu şekilde bir filtre elde etmek istiyorum. Aslında buradaki filtrenin bir benzerini elde etmeye çalışıyorum. Mesela sahibinden.com örneğinde, model yılı ve km'yi seçtik fakat diğer seçenekler seçili değilse tümünü gösterdi. Buradaki sql sorgusu birden fazla mı olmalı? If else metodu ile mi yapılır bu? Yada nasıl olmalı?

    Yardımcı olursanız sevinirim.

    Teşekkürler...







  • Tek sql sorgusunda yapilabilir. Parametrelere gore inline sql yazip execute yapilabilir.

    Veya alinan tum data uzerinden if elselerle filtreleme yapilabilir.

    Linq, entityframewok vs kullaniyorsaniz da filtreleme yapilabilir
  • Verdiğiniz bilgiler için teşekkürler.

    Örnek vererek açıklasaydınız daha aydınlatıcı olurdu.
  • isim ve fiyat parametrelerinin önyüzden kullanıcının girdiğini varsayalım. Girmeyedebilir, null olabilir.

    Şöyle bir query yaratabilirsin:

    select *
    from items
    where (@name is null or item_name like '%' + @name + '%')
    and (@price is null or item_price < @price)";
  • quote:

    Orijinalden alıntı: Finney

    isim ve fiyat parametrelerinin önyüzden kullanıcının girdiğini varsayalım. Girmeyedebilir, null olabilir.

    Şöyle bir query yaratabilirsin:

    select *
    from items
    where (@name is null or item_name like '%' + @name + '%')
    and (@price is null or item_price < @price)";


    Teşekkür ederim finney

    algoritmayı çözdüm sayılır. Bir sorum daha olacak. Aşağıdaki linkteki gibi bir robot yapmak istiyorum. Linkteki tercih robotundan yola çıkarak örneklendireyim. Robottan gitmek istediğim bölümü seçtim ve diğer alanları boş bıraktım. O zaman arka plandaki sorgu her kontrolün seçilip seçilmediğini kontrol ettikten sonra seçili değilse tümünü listele diyor. Mantığı anladım fakat koda dökerken sorun yaşıyorum. Sayfada 5-6 tane kontrol olduğunu düşünün. Ben 6 kontrole de tüm olasılıkları yazmam gerek. Bunu QUERY'ye nasıl dökeceğimi tam anlamadım.

    Yani
    SELECT * FROM lys_secim where

    if (istanbul.Checked) //istanbul seçili ise
    {
    where sehir = "istanbul" //sadece istanbul ilince olanları ver
    }
    if (ankara.Checked) //ankara seçili ise
    {
    where sehir = "ankara" //sadece ankara ilince olanları ver
    }

    Gibi tüm iller sıralanabilir

    Sorgu bitmedi daha birde öğrenci puan türünü seçecek

    if (lys3.Checked) //lys3 seçili ise
    {
    where puan_turu = "lys3" //sadece lys3 puan türündekileri ver
    }

    Yapmak istediğim özetle bu şekilde bir şey. Tüm olasılıkları verip tek sorgu yapmak istiyorum. Fakat sorguyu en basit ve en sorunsuz bir şekilde nasıl yaparım bilemiyorum.
    http://universitetercihleri.com/ddtercih




  • pek kontrol edemedim hata varsa sen düzeltirsin :

    string query = "SELECT * FROM lys_secim ";
    string predicate;

    if (istanbul.isChecked)
    {
    predicate = "where sehir='istanbul'";
    }
    if (ankara.isChecked)
    {
    if (predicate != null)
    {
    predicate += " and "
    }
    else
    {
    predicate = "where ";
    }

    predicate += "sehir = 'ankara'";
    }
    if (lys3.Checked)
    {
    if (predicate != null)
    {
    predicate += " and "
    }
    else
    {
    predicate = "where ";
    }

    predicate += "puan_turu = 'lys3'";
    }

    query += predicate;
  • quote:

    Orijinalden alıntı: Finney

    pek kontrol edemedim hata varsa sen düzeltirsin :

    string query = "SELECT * FROM lys_secim ";
    string predicate;

    if (istanbul.isChecked)
    {
    predicate = "where sehir='istanbul'";
    }
    if (ankara.isChecked)
    {
    if (predicate != null)
    {
    predicate += " and "
    }
    else
    {
    predicate = "where ";
    }

    predicate += "sehir = 'ankara'";
    }
    if (lys3.Checked)
    {
    if (predicate != null)
    {
    predicate += " and "
    }
    else
    {
    predicate = "where ";
    }

    predicate += "puan_turu = 'lys3'";
    }

    query += predicate;

    Teşekkür ederim.




  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.