Burak ŞİMŞEK - Kişisel İnternet Sitesi - Ücretsiz BŞ & UWN Scriptleri

  • Increase font size
  • Default font size
  • Decrease font size

Veritabanında Arama Yaptırmak

E-posta Yazdır

Sitenizde tüm veriler veritabanına kayıt ediliyor fakat ziyaretçileriniz sitenizde bilgi bulmakta zorlanıyor ve sitenizde de bir arama sisteminiz yok ise bu aşağıdaki örnek kodlarla bu arama sistemini kolayca yapabilirsiniz.

<%
ara=Request.QueryString("ara")
set Baglanti= Server.CreateObject("ADODB.Connection")
Baglanti.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("veritabani.mdb"))
%>
<%
Set veriarama = Server.CreateObject("ADODB.Recordset")
Sorgu = "Select * from TABLO WHERE VERI like '%" & ara & "%' ORDER BY ID DESC"
veriarama.Open Sorgu,Baglanti,1,3
mesajadet = veriarama.recordcount 
sayfasayisi = 10
If veriarama.eof then 
%>
Veritabanında <%=ara%> İçin Sonuç Bulunamadı.
<%
Else
if request("s")<>"" then 
sayfa = cdbl(request("s")) 
veriarama.move sayfa*sayfasayisi 
else 
sayfa = 0 
end if 
for t=1 to sayfasayisi 
if veriarama.eof then exit for 
%>
<%=veriarama("VERI")%><br>
<%
veriarama.movenext 
next 
%>
Sayfa : <%
if mesajadet/sayfasayisi = int(mesajadet/sayfasayisi) then sayfaadet = mesajadet/sayfasayisi else sayfaadet = int(mesajadet/sayfasayisi) +1 
for p=0 to sayfaadet-1 
if sayfa = p then %>
<%=p+1%> <% else %> <a href="/arama.asp?ara=<%=ara%>&kat=<%=kat%>&s=<%=p%>"><%=p+1%></a> <% 
end if
next %>
<%
End if
veriarama.Close
Set veriarama=Nothing
%>
<%
Baglanti.Close
Set Baglanti= Nothing
%>

Sayfanın ilk başındaki kod bir önceki arama kodundan gelen form bilgisine ait koddur. Form örneğini de yazının sonunda yazacağım. Bundan sonraki işlem diğer derslerdeki bilgilerle aynıdır. Veritabanına bağlantı sağlıyoruz ve sonra da tabloya bağlantı sağlıyoruz. Burada önemli olan tablomuza bağlantı sağlarken kodlara dikkat etmek. Tablomuza ait hangi sütunda arama yaptıracaksak onu yazıyoruz ve yanına like kodunu ekliyoruz, arama yapılacak kelimeyi zaten bir önceki formdan almıştık, onun kodunu otomatik olarak yazdırıp, id numarasına göre sıralıyoruz. Arama sonuçlarının sayısını 10 olarak belirttik, siz değiştirebilirsiniz. Aramada herhangi bir kayıt bulunamadığı zaman hata vermesini engellemek için uyarı yazısı yazdırıyoruz. Aramada sonuç çıkarsa da sayfaya yazdırıp, sayfalama sistemini aktif ediyoruz.

Yukarıda yazdığım bazı yerlerden kısaca bahsettim. Çünkü daha önceki derslerde bunları yazmıştım. Ancak isteyen olursa daha detaylı yazmaya çalışacağım.

Arama formunu da şu şekilde yaptırabilirsiniz:

<form name=arama action="arama.asp" method=get>
Aranacak Kelime:&nbsp;<input type="text" name="ara" size="34"><br>
<input type="submit" value="Arama Yap">
</form>

Not: Yukarıdaki arama formunda yönlendirilecek sayfanın adı arama.asp'dir.