Arama Sorgusu
-
merhaba
emlak sitesi için bir arama yapıyorum php ile
4 parametreli bi sorgu var
select * from ilan where tur='$tur' and tip='$tip' diye giden
burda tur ve tip değerini aldığımda eğer biri seçilmemişse yani değeri null ise yani şöyle bir sorgu where tur=1 tip=boş
olduğunda tur 1 olan bütün değerleri getirsin istiyorum,
where deyimi ile bunu tek sorguda yapamam gibi gelyor ama bi mantığı olmalı sanırım bunun
teşekkürler.
-
öle çiziktiriyodum aspden bildiğim derme çatma şeylerle sonra google amcaya sordum işine yarıycanı düşünüyorum kendine göre düzenle
KirSatt=Request.form("kirsat")
Tur=Request.form("tur")
Ilce=Request.form("ilce")
Fiyat1=Request.form("fiyat1")
Fiyat2=Request.form("fiyat2")
dim kosul
kosul = " where "
if KirSatt <> "" then
kosul = kosul & " KirSat like '" & KirSatt & "' "
end if
if Tur <> "" then
kosul = kosul & " and Tur = " & Tur & " "
end if
if Ilce <> "" then
kosul = kosul & " and Ilce = " & Ilce & " "
end if
if Fiyat1 <> "" then
kosul = kosul & " and Fiyat > " & Fiyat1 & " "
end if
if Fiyat2 <> "" then
kosul = kosul & " and Fiyat < " & Fiyat2 & " "
end if
Set Conn = server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & server.MapPath("veri.mdb")
set RS = server.createobject("adodb.recordset")
RS.open "select * from portfoy" & kosul& "Order by Id" , Conn,1,3
-
hacı isnull kullanacaksın
en azından ben mssql de isnull kullanarak hallediyorum o işi :)
kısaca mssql'de yaparsak...
select * from Tcalisan
where calisan_id = isnull(@id,calisan_id) and
adi = isnull(@ad,adi)kısaca açıklarsak...
isnull(p1,p2) 2 parametre alır. ilk parametre P1 yani ilk parametre kontrol edilir.
eğer P1 Null ise
geriye P2 yi döner.
eğer P1 null değilse
geriye kendisini döner. yani P1 iunutmadan bu biraz yavaş çalışır çünkü function değildir
birde bunun is null versiyonu var araştır biraz :)