• 03-02-2009, 00:25:11
    #10
    webadnan adlı üyeden alıntı: mesajı görüntüle
    üstadlar;
    son 2 soru:
    1.
    tbl_otel Where il='Antalya' dedik ; antalyadaki otelleri getirdik. peki antalya merkezdekileri getirmek istesem:
    tbl_otel Where il='Antalya' , ilce='Merkez' gibi birşey yapamaz mıyım? denedim yapamazmışım.
    2.
    ben bu veritabanımdaki kriterlere göre arama sayfası yapmak istiyorum. yani yıldız, bölge, otel tarzı ve fiyat aralığı falan seçecek; o kriterlere uygun doneler gelecek. ilk defa sıfırdan kod yazıyorum. bunu da yazarsam beni kimse tutamaz. bunu yazmamın pratik bir programı var mı? ya da örnek kodlar?
    üstad değilim ama bildiğim kadarıyla yardımcı olmaya çalışıyım.

    1.
    of kors yaparsın hocam.
    misal forumdan verileri çektin.
    il = request.form("il")
    ilce = request.form("ilce")

    'kayıtsetini konuşturalım:
    select * from oteller where il='"& il&"' and ilce='"& ilce &"' order by ........'devamı artık.

    tabi burda veritabanındaki oteller tablonda il ve ilce adında sütunların olduğunu düşünerek yapıyoruz. misal tablonu şöyle hayal edelim:

    otel_id -- otel_adi -- il -- ilce -- yildiz -- mangır
    66 -- hilton -- antalya -- merkez -- 5 -- 2000 dolar
    67 -- kulübe -- antalya -- kemer -- 0,5 -- bi paket cigara
    68 -- dedeman -- antalya -- merkez -- 5 -- çok para

    antalya merkez olarak gelen bi arama sonucu, sorgu sana dedeman ve hiltonu verir. ('zengin oldun yani )

    2.
    dediklerin yukardakinin aynısı şekilde olur. fiyat aralığı içinde between komutunu kullanacan.
    sana w3schools sitesini tavsiye ederim.
    sql basit bi dil, ordaki örneklerle ve yazılarla istediklerini kolayca yapabilirsin.

    like, or, between gibi komutlar çok lazım olacak sana.
    burdan takıl biraz:
    SQL Tutorial

    forumlara sorularını falan yaz, muhakkak birileri cevaplar, öyle öyle geliştirirsin kendini, bende öyle öyle öğrendim, öğreniyom.
    bildiğim şeylerde fırsat bulup siteye girdikçe cevap vermeye çalışıyorum arkadaşlara.
    kolay gelsin...
  • 03-02-2009, 01:25:26
    #11
    sağolasın dostum

    deneyeyim bi.
  • 03-02-2009, 21:18:58
    #12
    arama sayfasını da hazırladım, tam istediğim gibi oluyor. tek takıldıım nokta;

    sql="select * from tbl_otel where OTELADI like '%"&ara&"%' and il like '%"&il&"%' and ilce like '%"&ilce&"%' and yer like '%"&yer&"%' and tur like '%"&tur&"%' and yildiz like '%"&yildiz&"%' "

    böyle birşey yaptım tukır tıkır çalışıyor.. sorguyu getiriyor. son bir nokta between olayı..geldim en son kritere:
    fiyat...
    '%"&fiyatmin&"%' ile '%"&fiyatmax&"%' arasını getir nasıl deriz between komutu ile?
  • 03-02-2009, 21:52:38
    #13
    webadnan adlı üyeden alıntı: mesajı görüntüle
    arama sayfasını da hazırladım, tam istediğim gibi oluyor. tek takıldıım nokta;
    sql="select * from tbl_otel where OTELADI like '%"&ara&"%' and il like '%"&il&"%' and ilce like '%"&ilce&"%' and yer like '%"&yer&"%' and tur like '%"&tur&"%' and yildiz like '%"&yildiz&"%' "
    böyle birşey yaptım tukır tıkır çalışıyor.. sorguyu getiriyor. son bir nokta between olayı..geldim en son kritere:
    fiyat...
    '%"&fiyatmin&"%' ile '%"&fiyatmax&"%' arasını getir nasıl deriz between komutu ile?
    aha da bunun gibi olcak:
    SELECT * FROM tbl_otel WHERE fiyat BETWEEN '%"&fiyatmin&"%' AND '%"&fiyatmax&"%'

    sana bi link yazdımdı aşaya, ordan bi baksaydın aslında..
    neyse, böyle böyle öğreniliyo işte. kolay gele.
  • 03-02-2009, 21:58:27
    #14
    anka81 adlı üyeden alıntı: mesajı görüntüle
    aha da bunun gibi olcak:
    SELECT * FROM tbl_otel WHERE fiyat BETWEEN '%"&fiyatmin&"%' AND '%"&fiyatmax&"%'
    sana bi link yazdımdı aşaya, ordan bi baksaydın aslında..
    neyse, böyle böyle öğreniliyo işte. kolay gele.
    dostum ordan bakarak yaptım zaten de senin yazdığın gibi yapıca şu hatayı veriyor:

    Microsoft JET Database Engine error '80040e07'

    Data type mismatch in criteria expression.

    /otel-ara.asp, line 296
                                       <%
    
        sql="select * from tbl_otel where fiyat BETWEEN '%"&fiyatmin&"%' AND '%"&fiyatmax&"%' and OTELADI like '%"&ara&"%' and il like '%"&il&"%' and ilce like '%"&ilce&"%' and yer like '%"&yer&"%' and tur like '%"&tur&"%' and yildiz like '%"&yildiz&"%'  "
       
        Set rs=baglanti.execute(Sql)  -----> 296. satır burası
    
        if rs.eof then 
            response.write "Kayıt Bulunamadı !!! "
  • 03-02-2009, 22:27:10
    #15
    between genel kullanımı:

    Alıntı
    SELECT column_name(s)
    FROM table_name
    WHERE column_name
    BETWEEN value1 AND value2
    % işaretini betweende kullanman yanlış bence.. %leri silersen çalışacaktır diye düşünüyorum.. % kullanınca arama, between kullanınca bir sıralama ve süzme yapıyorsun.. bunlar ayrı işlemler..

    SELECT * FROM tbl_otel WHERE fiyat BETWEEN '"&fiyatmin&"' AND '"&fiyatmax&"'

    şöyle dene hata werirse fiyatmin ve fiyatmax'ı cint(fiyatmin) ve cint(fiyatmax) olarak değiştir..
  • 03-02-2009, 22:44:50
    #16
    ErTr adlı üyeden alıntı: mesajı görüntüle
    between genel kullanımı:
    % işaretini betweende kullanman yanlış bence.. %leri silersen çalışacaktır diye düşünüyorum.. % kullanınca arama, between kullanınca bir sıralama ve süzme yapıyorsun.. bunlar ayrı işlemler..
    SELECT * FROM tbl_otel WHERE fiyat BETWEEN '"&fiyatmin&"' AND '"&fiyatmax&"'
    şöyle dene hata werirse fiyatmin ve fiyatmax'ı cint(fiyatmin) ve cint(fiyatmax) olarak değiştir..
    sağol dostum, artık hata vermiyor ama bu sefer de kayıtları getirmiyor... ne rakam girersem gireyim kayıt bulunamadı diyor..
  • 03-02-2009, 22:49:29
    #17
    database'i kontrol et derim bn.. ne kullanıyorsun db olarak?
  • 03-02-2009, 23:01:52
    #18
    ErTr adlı üyeden alıntı: mesajı görüntüle
    database'i kontrol et derim bn.. ne kullanıyorsun db olarak?
    access kullanıyorum. database de fiyat sütununu kontrol ettim, para birimi.

    kodlar aynen bu=

    <%

    sql="select * from tbl_otel where OTELADI like '%"&ara&"%' and il like '%"&il&"%' and ilce like '%"&ilce&"%' and yer like '%"&yer&"%' and tur like '%"&tur&"%' and yildiz like '%"&yildiz&"%' and fiyat BETWEEN "&cint(fiyatmin)&" AND "&cint(fiyatmin)&" "

    Set rs=baglanti.execute(Sql) ....falan filan..