Nis
29Bu dersimizde veritabanında arama yapmayı göreceğiz.
şimdi bu sisteme benzer bir script yapacağız.
aspogren.mdb adında veritabanı ve içinde kayitlar adında sütun oluşturun.
id (otomatik sayı)
baslik (metin)
icerik (not)
Tabloyu açıp, el ile bikaç kayıt girin.
form.asp
Aranacak Sözcük:<br />
<input type="text" name="kelime" id="kelime"/>
<input type="Submit" Value="Gönder" />
</form>
Action bölümü formun hangi sayfada işleneceğini berlittir.
Method ise hangi yöntemle gidileceğini belirler. Biz get yöntemini seçtik. Get'in dışında post'ta kullanılabilirdi ama arama bölümü için en iyi yöntem get'tir.
ara.asp
ara=Request.Querystring("kelime")
Set baglanti=Server.Createobject("Adodb.Connection")
baglanti.provider="Microsoft.Jet.Oledb.4.0"
baglanti.open Server.Mappath("aspogren.mdb")
sql="select * from kayitlar where baslik like '%"&ara&"%' or icerik like '%"&ara&"%'"
Set rs=baglanti.execute(Sql)
if rs.eof then
response.write "Kayıt Bulunamadı !!!"
else
do while not rs.eof
with response
.write rs("baslik")
.write "<br>"
.write rs("icerik")
.write "<hr>"
end with
rs.movenext:loop
end if
%>
Formun method değerini get olarak verdiğimiz için ara.asp sayfamızda veriyi get yöntemi ile çekeceğiz.
İlk önce gelen veriyi ara değişkenine atadık. Sonra veritabanı bağlantımızı yaptık. Veritabanı bağlantımızı açtıktan sonra aranan kelimeyi sorgulayacak kayıt setini açtık. Sql kodumuzda LIKE komutunu kullandık. LIKE komutu bulanık arama yapmayı sağlar. Mesela aranan kelime eğer metinin içinde varsa metin seçilir.
Eğer sonuç yoksa kayıt bulunamadı yazısını yazdırdık.
Değilse yani eğer sonuç varsa bir döngüye girmesini sağladık.
Döngü bulunan kayıtları listelemekte görevlidir.
Örneği indirmek için tıklayın
İyi çalışmalar ...
Etiketler : sql provider like with set get method action name id connection
İçeriği takip etSayfayı YazdırPermalink17 yorum var
#174.-Duran şAHİN-30 Nisan 2007 Pazartesi
Eyw, teşekkür ettik.
#190.-ali çelik-15 Mayıs 2007 Salı
daha önceki bir örnekte de dikkatimi çekti oraya da yoruma yazmıştım ama sıkılmadım burayada yazmak istedim..
yukardaki örnekte de önce gördüğim örnekteki gibi oluşturulan nesnelerin hiçbirisi kapanmamış bana göre bu büyük bir hata.
düzeştilmesini fatih erikli ve sercan çakır beyden rica ediyorum
saygılarımla
#191.-SrcnCkr-15 Mayıs 2007 Salı
Bu bir hata değildir. Sayfada herhangi bir rapor oluşturmaz. Sadece bir nebze olsun performansa etki eder.
Çalışmalarımdan dolayı siteye yazı ekleyemiyorum. Aktifleştirmeyi düşündüğüm projelerim var. Kısa zamanda inaşaallah tekrar birlikte olacağız 
#203.-Osman şafak-31 Mayıs 2007 Perşembe
Bu konuya ek olarak ... ile başalayan veya ... ile biten gibi bir ifadeyi aratmak için ise şu şekilde sql kodunu değiştirmemiz gerekmektedir.
Örneğin; L harfi ile başlayan başlıkları listelemek için
ara="L"
sql="select * from kayitlar where baslik like '"&ara&"%'
Kolay gelsin.
#220.-hudalfa-12 Haziran 2007 Salı
peki bu çıkan sonuçtaki isme veya içeriğe link vermeyi nasıl yapacağız. teşekkürler...
#241.-Özgür-21 Haziran 2007 Perşembe
Merhabalar;
bir sorum olacak;
Yazdığım bir scripte arama fonksiyonunu ekledim;
ancak aramayaptıracağım bir kaç tablodan arama yaptırmayı başaramadım! Sadece tek tablodan arama yaptırabiliyorum,
kod şu şekilde:
SQL = "SELECT*FROM siirler WHERE baslik like '%"&query&"%' or icerik like '%"&query&"%' or baslik like '%"&query2&"%' or icerik like '%"&query2&"%'"
Burada siirler tablosundan arama yaptırabiliyorum
ancak aratmak istediğim yazarlar ve yazılar diye iki tablo daha var
onları nasıl ekleyebilirim?
#244.-SrcnCkr-22 Haziran 2007 Cuma
şurayı incelersen eminim ki sorununu çözeceksin. Bir çok kod verilmiş, içlerinde en uygun ve en iyi performans sağlayan kodu kendine göre kullanabilirsin.
#364.-memet kaplan-07 Ekim 2007 Pazar
evet güzel anlatım denedim uygulaadım. fakat çıkan sonuç text olarak çıkıyor. bunu nasıl link olarak çıkartacaz. arama yaptığımızda çıkan sonul link olsun tıklanma özeligi olsun. nasıl yaparız
#382.-Frosten Klaust-24 Ekim 2007 Çarşamba
bu şekilde yaparsanız injection yersiniz bende size afiyet olsun derim.
#395.-GetKing-04 Kasım 2007 Pazar
Tamam saol yaptın da aranan kelimenin arka planını nasıl renkli gösteebiliriz onuda gösterirsen çok sewinirim şimdiden Teşekkürler...
#402.-i urnez-15 Kasım 2007 Perşembe
kayıt çağırırken like kullandığımda yazmış olduğum aranacak kelimenin bulunduğu birden fazla kayıt listeliyor. like yerine = kullandığımda da ise kayıt olmasına rağmen kyıt bulunamadı diyor ne yapmamızgerekir.ayrıca kayıt üzerinde değişikliğin nasıl yapılacağını da yazarsanız benim için mükemmel olacak
#416.-Cannur Daşkıran-20 Kasım 2007 Salı
Hocam eline sağlık ama boş bıraktığımız zaman bütün sonuçları gösteriyor "geri dönüp boş alanı doldurunuz"'u nasıl dedittiririz saygılar.
#419.-Hakan Dınkırcı-21 Kasım 2007 Çarşamba
Ellerinize sağlık güzel bir noktaya değinmişsiniz. Fakat birşeyi sormak istiyorum. Burada like ile bulanık arama yapıyoruz. Eğer tam eşit değeri aramak isteseydik ne yapardık.
<% ara = request.form ("ara")
SQL = "SELECT*FROM siirler WHERE baslik = '%"&query&"%'"
yapmak mümkünmü. Ben deniyorum olmuyor...
#581.-Yasiari-20 Nisan 2008 Pazar
<%
ara=Request.Form("ara")
set arama=Server.CreateObject("ADODB.recordset")
sorgum="SELECT * from siirler where baslik like '%"&ara&"%' "
arama.open sorgum,baglanti,1,3
%>
Gibi Yapabilirsiniz!
#777.-baryam kaltak-17 Ocak 2010 Pazar
ya arkadaşlar,ben kendi seçtiğim bir sözlük sitesinin seçtiğim veya işaretlediğim kelimeyi aratmayı nasıl sağlayabilirim.excelde link vermeyi işaretliyorum,adresini de veriyorum o kelimeye tıkladığımda siteyi getiriyor fakat o kelimeyi aramıyor.ne yapabilirim,lütfen yardımcı olur musunuz.?
#841.-hakan coskun-25 Ağustos 2010 Çarşamba
paylaşımınız için canı gönülden teşekkür ederim.
yazdığınız kodlarla(büyük küçük harf duyarlı olmamasına rağmen)
veri tabanından verileri form.asp ve ara.asp ile buluyorum ancak; bulunan verilere link nasıl verebilirim?
