ASP ve Jquery ile otomatik tamamlama (auto complete) sistemi – 2

Daha önce PHP’den ASP’ye çevirdiğim bir otomatik tamamlama sistemi vardı. Bu ufak scriptte, aşağı ve yukarı tuşlarıyla seçim yapılamadığı ve Türkçe karakterlerde sorunlar olduğu yorum yapan arkadaşlar tarafından yazılmıştı. Açıkça söylemek gerekirse o script üzerinde vakit bulup uğraşamadım. Fakat scripti bir yerde kullanmam gerekince uğraşmamak ile hata yaptığımı anladım ve yeni bir script üzerinde çalışmanın daha mantıklı olacağını düşündüm.


Burada bulduğum otomatik tamamlama scripti aşağı-yukarı tuşlarıyla seçim yapabilme imkanı sunuyor. Fakat örnekler yine PHP ile yapılmış.

Ben örnekteki PHP sorgu sayfasının ASP versiyonunu oluşturdum. İçinde isimlerin olduğu basit bir veritabanı oluşturdum. Sayfa kodlamasını windows-1254 yerine utf-8 yaptım ki bu sayede Türkçe karakter problemi yaşanmıyor.

Uygulamanın çalışan şeklini buradan görebilir veya buradan indirebilirsiniz.

Uygulamayı buradan indirebilirsiniz.

Karşılaştığınız hatalar ya da uygulama hakkında önerileriniz olursa lütfen paylaşın ki hep beraber çözüm üretmeye çalışalım.

Github: https://github.com/alperdereli/asp-jquery-autocomplete2

28 Yorum

  1. Cenk

    gerçekden cok faydalı makalelerin devamını sabırsızlıkla bekliyoruz.

  2. İşime yaradı çok teşekkürler…

  3. Sait

    Teşekkürler, fakat ‘ü’ harfi ile başlayan bir şey yazdığınız zaman veritabanından sorgulamıyor. Nedeni ne olabilir acaba?

  4. Alper

    Açıkçası yaptığım denemelerde bu tip bir problem ile karşılaşmadım. Eğer demo için verdiğim linkte sorunsuz çalışıyor fakat sizin sisteminizde problem çıkıyorsa, sistem dili ile alakalı olabilir.

  5. Kenan

    jquery iyi güzel de , bunu kendimiz yazsak mi daha performanslı calisir , yoksa jquery ye mi saldirsak , gerçi bu konuda sistemde kullanilan sorgu.asp de çok önemli , cache leme var mi acaba ?

  6. Alper

    Benim yaptığım işlem oldukça basit aslında. Her harfe basıldığında yeni sorgu yapıyor ve haliyle sistemi yoruyor. Eğer bu sistem yoğun olarak kullanılacaksa mutlaka geliştirilmesi gerekiyor. jQuery bir çok hazır kod sunduğu ve kullanımı kolay olduğu için bu tip sistemlerde kullanılıyor. Banada javascript kodlarını sıfırdan yazmak yerine jQuery kullanmak daha mantıklı geliyor.

  7. Merhabalar, öncelikle kodlar çok yararlı oldu fakat Türkçe karakter problemini bir türlü çözemedim, yardımcı olabilir misiniz?

  8. Metin

    Aynı şekilde “ü” “ş” “ç” “ı” harfi ile başlayan bir şey yazdığınız zaman veritabanından sorgulamıyor. Çözümü nedir acaba?

  9. ahmet

    ewt ya ü ş ç i harflerini göstermiyor biri buna çare bulsun !!!

  10. ahmet

    çözümü buldum

    sorgula sayfasının üstüne sadece

    kodu ekleyin 🙂

  11. ahmet

    Session.CODEPAGE=”65001″

    kodunu ekleyin

  12. Luksorin

    Eline sağlık hocam. Bir kaç sorum olacak. 10’dan fazla kayıt döndürmek istiyorum. Ayrıca link vermek istiyorum. Bunu nasıl ayarlarız?

  13. Luksorin

    Buldum. Teşekkür ederim. Autocomplete max değerini yükseltiyorsunuz. Default 10 geliyor. Örn :

    $(‘input’).setOptions({
    max: 25,
    minChars:2,
    scroll:false,
    autoFill:true
    });

  14. öncelikle güzel makale için teşekkürler.
    bunu editleyerek daha güzel arama sonuçları vermesi için uğraştım ama bir yerde takıldım. belki siz yardımcı olabilirsiniz.

    öncelikle istediğim şey şu: arama kutusuna d yazdığımızda örnek veritabanına göre şu sonuçlar çıkıyor:
    alper dereli
    cengiz çandar
    doğan hızlan
    ömer üründül

    oysa ki d yazdığımızda doğan hızlan sonucunu ilk sırada döndürse, sonra ortasında d harfi olan sonuçları döndürse, hala yeterli satır sayısı kaldıysa son harfi d olan sonuçları döndürse daha güzel olacak.

    bunun için
    – sorgu asp’deki döngüyü like “aranan %” olarak değiştirdim.
    – bu özelliklerdeki kayıt sayısı 10’dan küçükse aynı döngünün like “%aranan%” şeklini yazdım.
    – ilk 2 döngüden çıkan sonuç 10’dan küçükse aynı döngünün like “%aranan” şeklini ekledim.

    mantığım kağıt üzerinde doğru görünüyor. ama bir türlü çalıştıramadım. bu kodlamayla d yazınca doğan hızlan’ı tek başına döndürüyor ve ikinci döngüye geçip kalan satırları doldurmuyor.

    neden olabilir acaba?

    sorum tam anlaşılamadıysa mail adresimden veya buradaki yoruma cevap vererek kodlarımı göstereyim.

    şimdiden teşekkürler.

  15. Burak

    @karikatur,

    sql union…

  16. Nuri

    Hocam bunun php de örneği var mı?

    Teşekkürler…

  17. Murat

    Eline sağlık iki versiyonu da güzel çalışıyor

  18. Murat

    Merhaba, sorgu sisteminde istemediğim bir durum oluşuyor. örneğin,

    sadece uygun ilk 3 veriyi göstermek istiyorum.

    verilerim

    alper
    ahmet
    akif
    ali

    olsun.

    sadece “a” harfi ile aramaya bastım.

    alper
    ahmet
    akif

    çıktı. sonrasında “l” harfi ekledim “al” oldu yani

    busefer sadece alperi gösteriyor, aliyi getirmiyor.

    ama “i”ye de basarsam sonradan aliyi getiriyor.

    Kısacası aramayı önce bi önceki aramaların içinden yapıyor.

    Bunu nasıl engelleyebilirim.

  19. Murat

    problemi buldum, cache’i sıfıra çekmemiz gerekliymiş.

    $(“#input”).autocomplete(“sorgu.asp”, {
    width: 150,
    cacheLength : 0,
    });

  20. ali

    hocam elinize sağlık çok faldalı ve başarılı bir çalışma ancak şöyle bir sorun var veri taşıma yapmıyor uygulama nasıl yapabilirim

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.