• 29-08-2012, 12:07:42
    #1
    arkadaşlar şimdi basit bir arama yaptırıyorum veritabanından.

    veritabanında diziler tablosu içinde dizi_adi diye bir kısım var. altında dizi isimleri var. ben bunlara göre arama yaptırıyorum.

    mesela kullanıcı aramayı "big bang theory hd izle" olarak yapıyor. dizi adında "the big bang theory" yazdığı için arama bulunamadı diyor. bunu nasıl halledebilirim ben?

    kodlarım şöyle;

    <%aranan=Request("aranan")%>
    <%
    Set WM = Server.CreateObject("ADODB.Recordset")
    SOR = "select * from diziler where dizi_adi like '%"&aranan&"%'"
    WM.Open sor,Sur,1,3
    %>
    altında da eğer birebir eşleşirse o veriyi gösteriyor. yoksa "bulunamadı" yazdırıyor.
  • 29-08-2012, 21:47:23
    #2
    Şöyle birşey yapalım bakalım olacaktır

    <%
    aranan = Request("aranan")
     
     
    Dim Kriter
    Dim Parcala = Split(aranan, " ")
     
    For Each Kelime In Parcala
    Kriter = Kriter & "
    OR dizi_adi LIKE '%" & Kelime & "%'"
    Next

    Dim kacKArakter = Len(Kriter)
    Dim SimdiYapalim = Mid(Kriter, 4, kacKArakter)
     
    Set WM = Server.CreateObject("ADODB.Recordset")
    SOR = "select *
    from diziler where " & SimdiYapalim & ""
    WM.Open sor,Sur,1,3
    %>

    yazdığı her kelimeyi arayacak sonuç bulacaktır kesinlikle
  • 02-09-2012, 02:16:26
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    verdiğin kodda split tek kelimelerde hata verir. Ayrıca arkadaşın çözümünün en basit yolu '%"&aranan&"%'" başında ki % işareti kaldırmak olacaktır. Yani sorgun şu şekilde olmalı?

    select * from diziler where dizi_adi like '"&aranan&"%'"
  • 02-09-2012, 20:37:26
    #4
    Üyeliği durduruldu
    Alıntı
    where dizi_adi like '%"&aranan&"%' OR dizi_adi like '"&aranan&"%' OR dizi_adi like '%"&aranan&"'
    olsa daha da kolaylaşır