Sql if else verileri alamadım - R10.net
  • 18-07-2019, 17:32:33
    #1
    Merhaba Arkadaşlar
    veritabanımda SQL de verilerimin hepsini alamadım, Veritabanımdan sadece birini ( ilid;ye göre ) sorguladığımda o ile ait verileri alabiliyorum ama diğerlerinide sorgulamaya eklediğimde veritabanımda hiç bir veriyi alamıyorum, kodlama aşağıda, bu konuda, yardımlarınızı bekliyorum Arkadaşlar .
    teşekkürler
    <%
    sql = "SELECT * FROM ilan WHERE onay=1":sql_str="ilanlar&"
    If uzanti_bol(0) <> "" Then sql=sql&" and id="&uzanti_bol(0)&"":sql_str=sql_str&uzanti_bol(0)&"&"
    If uzanti_bol(1) <> "" Then sql=sql&" and ilid="&uzanti_bol(1)&"":sql_str=sql_str&uzanti_bol(1)&"&"
    If uzanti_bol(2) <> "" Then sql=sql&" and ilceid="&uzanti_bol(2)&"":sql_str=sql_str&uzanti_bol(2)&"&"
    If uzanti_bol(3) <> "" Then sql=sql&" and durid="&uzanti_bol(3)&"":sql_str=sql_str&uzanti_bol(3)&"&"
    If uzanti_bol(4) <> "" Then sql=sql&" and tipid="&uzanti_bol(4)&"":sql_str=sql_str&uzanti_bol(4)&"&"
    sql=sql&" ORDER BY id ASC":sql_str=sql_str
    %>
    Alanya Emlak
  • 23-07-2019, 07:49:03
    #2
    çok karışık geldi belki biyerde boşluk vs olması gerekiyordur.
    response.write sql çıktısını verebilir misiniz. birde en son satırdaki sql_str=sql_str yapmışsınız anlamsız olmuş gözünüzden kaçan bir şey olabilir
  • 23-07-2019, 15:34:26
    #3
    oktayman adlı üyeden alıntı
    çok karışık geldi belki biyerde boşluk vs olması gerekiyordur.
    response.write sql çıktısını verebilir misiniz. birde en son satırdaki sql_str=sql_str yapmışsınız anlamsız olmuş gözünüzden kaçan bir şey olabilir
    Merhaba Hocam
    Site içi arama motorum resimi, SQL çıktısıda aşağıdaki gibi
    Site içi Aramada boş olarak aradığımda Sql çıktısı aşağıdaki gibi
    SELECT * FROM ilan WHERE onay=1 and verildi=1 and ilid=''%%'' and ilceid=''%%'' and durid=''%%'' and tipid=''%%'' ORDER BY id ASC

    Buda Selectboxlarda seçtiğim şekilde aramaSql çıktısı
    SELECT * FROM ilan WHERE onay=1 and verildi=1 and ilid='2' and ilceid='3' and durid='1' and tipid='1' ORDER BY id ASC

    Buda sadece textboxta id ye göre arama yaptığımdaki Sql çıktısı
    SELECT * FROM ilan WHERE onay=1 and verildi=1 and ilid=''%%'' and ilceid=''%%'' and durid=''%%'' and tipid=''%%'' and id='150' ORDER BY id ASC
    Alanya Emlak
  • 23-07-2019, 21:54:49
    #4
    hocam ilid, ilceid gibi sutunlar integer ise % işaretlerini ve sağındaki solundaki tırnakları kaldırınız
    eğer bunlat string ise = yerine like kullanmanız gerekir like ifadesinin sağına soluna boşluk koymayı unutmayın.

    sonuç olarak sql çıktısı
    SELECT * FROM ilan WHERE onay=1 and verildi=1 and ilid like '2' and ilceid like '3' and durid like '1' and tipid like '1' ORDER BY id ASC
    veya
    SELECT * FROM ilan WHERE onay=1 and verildi=1 and ilid=2 and ilceid=3 and durid=1 and tipid=1 ORDER BY id ASC
    şeklinde olmalı.

    emlak21 adlı üyeden alıntı
    Merhaba Hocam
    Site içi arama motorum resimi, SQL çıktısıda aşağıdaki gibi
    Site içi Aramada boş olarak aradığımda Sql çıktısı aşağıdaki gibi
    SELECT * FROM ilan WHERE onay=1 and verildi=1 and ilid=''%%'' and ilceid=''%%'' and durid=''%%'' and tipid=''%%'' ORDER BY id ASC

    Buda Selectboxlarda seçtiğim şekilde aramaSql çıktısı
    SELECT * FROM ilan WHERE onay=1 and verildi=1 and ilid='2' and ilceid='3' and durid='1' and tipid='1' ORDER BY id ASC

    Buda sadece textboxta id ye göre arama yaptığımdaki Sql çıktısı
    SELECT * FROM ilan WHERE onay=1 and verildi=1 and ilid=''%%'' and ilceid=''%%'' and durid=''%%'' and tipid=''%%'' and id='150' ORDER BY id ASC
  • 12-09-2019, 15:20:44
    #5
    tırnaklarda sorun yok.

    ilceid=''%%'' böyle bir cümle olmaz.

    bunun yerine

    ilceid like '%%' (tek tırnak) yapmalısınız hepsini.

    öte yandan örnekse sadece sonu deneme ile bitenleri istiyorsanız böyle '%deneme'
    sadece başı deneme ile başlayanları istiyorsanız da böyle 'deneme%' yapmalısınız tırnak içlerini.

    yada istediğiniz bir sayı değeri ise ilceid='sayi' olmaz, eğerki database de int değeri atadıysanız fielda. o zaman ilceid=sayi olmalı. ama varchar nvarchar ise tırnak kullanılabilir.

    başarılar.