Online Kitapevi Sitesi Yazalım
Asp January 23rd, 2008->
Önce veritabanını hazırlayalım. Program bir veritabanından ve şimdilik iki tablodan oluşuyor.
“db” isimli bir veritabanı oluşturun. Daha sonra da liste isimli bir tablo.
| Alan Adı | Veri türü |
| KayitID | Otomatik Sayı |
| KitapAdi | Metin |
| YEvi | Metin |
| Fiyati | Metin |
| KayitID | KitapAdi | YEvi | Fiyati |
| KayitID | Yazari | Aciklama |
*** Alan adlarında Türkçe karakter girmemeye dikkat edin. Türkçe karakterler hataya sebep olacaktır. Kodlarınız doğru olsa da programınız hata verecektir.
*** Elimizde ufak bir veritabanı ve tablolar var. Bu kadar küçük tabloları ikiye bölmek saçma gelebilir ama büyük ölçekli tablolar için uygun bir yöntemdir. Böylece veritabanınızın şişmesini engellemiş olursunuz.
Tablolar KayıtID alanı ile birbirleriyle ilişkilendirilmiştir. Yani KitapID’si 3 olan kitap:
| KayitID | KitapAdi | YEvi | Fiyati | Yazari | Aciklama |
Değerlerine sahiptir.
***Fiyat değerlerini salladım
ama herhalde böyle birşeylerdir. Ayrıntılı bilgi için yayınevlerinin web adreslerini ya da en yakın kitapçıyı ziyaret edebilirsiniz.
TABLO İÇERİĞİNİN ASP SAYFASINA YAZDIRILMASI
Tablomuzu hazırladık peki nasıl görüntüleyeceğiz? İlk önce sayfamızın tasarlanması gerekiyor. Bunun için birçok editör kullanabilirsiniz. Endişelenmeyin NotePad de işinizi görür. Ama ben yine de Dreamweaver ya da FrontPage gibi bir editör kullanmanızı tavsiye ederim. Elle kod girmekten daha kolay. Ama Asp kodlarını yazmaktan kurtulamazsınız
| <%@Language=VBScript%> <% ‘Veritabanı bağlantısını yap set Con=server.CreateObject(”ADODB.Connection”) ‘Bu durumda veritabanının yeri asp server içinde wwwliste/db.mdb’dir Con.open “DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=” & Server.MapPath(”/wwwliste/db.mdb”) ‘Bağlantıyı aç set RS = server.CreateObject(”ADODB.Recordset”) ‘liste tablosundaki bütün alanları KitapAdı’na göre sırala sqlString= “select * from liste order by KitapAdi” RS.Open sqlString %>
<body bgcolor=”#ECF5FF”> <table border=”1″ width=”100%” bordercolor=”#000000″ cellspacing=”0″> <table border=”1″ width=”100%” bordercolor=”#808080″> ‘Son kayıda kadar döngü </td> |
AYRINTI SAYFALARI OLUŞTURMAK
Bu bölümde index.asp’deki Kitap Adı’na link verip bu linki kitap ayrinti.asp sayfasına yönlendireceğiz. Bunu yaparken index.asp’de tıkladığımız kayıt ile ayrıntı.asp de göstereceğimiz kayıtın “KayitID” alanlarının aynı olmasından yararlanacağız.
İlk önce index.asp’de gerekli eklemeyi yapalım:
Eklediğimiz kod index.asp’deki listelenen kaydın KaytID’si ile ayrinti.asp’de görüntülenecek kaydın KayitID’sinin eşit olduğunu sorgular. Bir başka değişle ayrinti.asp’de, tıkladığınız kaydın KayitID’si ile eşit olan kaydın ayrıntıları görüntülenecektir. “kid” index.asp’deki listelenen kayıtların KayitID değerini tutmaktadır.
<table border=”1″ width=”100%” bordercolor=”#808080″> <% while not rs.EOF %> <tr> <td width=”13%”><a href=”ayrinti.asp?kid=<%=RS(”KayitID”)%>”><%=rs.Fields.Item(”KitapAdi”)%></a></td> <td width=”15%”><%=rs.Fields.Item(”YEvi”)%></td> <td width=”14%”><%=rs.Fields.Item(”Fiyati”)%></td> </tr> <%RS.MoveNext wend %> </table> |
Şimdi sırada ayrinti.asp’nin yazılması var:
<%@Language=VBScript%> <% ‘KaID değişkeni index.asp’deki tıklanan kaydın KayitID’sini tutar. KaID=TRIM(Request(”kid”)) Veritabanı bağlantısını yap ‘liste tablosundaki KayitID’si geçerli olan kayda eşit olan (KaID’ye) kaydı al. RS.Open sqlString %> <% ‘İki tablo kullandığımız için ayrinti tablosunun da değerlerinin alınması gerekir.
RS2.Open sqlString %> <html> <body bgcolor=”#ECF5FF” text=”#000000″> <% |
TABLOYA YENİ KAYIT EKLEMEK
Peki database’imiz hep böyle mi kalacak? Elbette hayır. Yeni kayıtlar girmek gerek:
İlk önce index.asp’nin sonuna aşağıdaki kodu ekleyelim:
| <table width=”100%” border=”0″> <tr> <td><a href=”ekle.asp”>Kayıt Ekle</a></td> </tr> </table> |
Bu değişikle sadece sayfa sonuna “Kayıt Ekle” linkini oluşturduk.
Sıra bu link tıklanınca ekrana gelecek olan sayfanın hazırlanmasına geldi:
| <html> <head> <title>Kayıt Ekle</title> <meta http-equiv=”Content-Type” content=”text/html; charset=windows-1254″> </head> <body bgcolor=”#ECF5FF” text=”#000000″> ‘Form içeriği ekle2.asp’ye gönderilir <form name=”kekle” method=”post” action=”ekle2.asp”> <table width=”100%” border=”0″> <tr> <td colspan=”3″ bgcolor=”#FF6600″ height=”11″> <div align=”center”> <p><b><font color=”#FFFFFF”>Kayıt Ekleme Formu </font></b><font color=”#FFFFFF”><font size=”1″>(*) alanlar zorunlu</font></font></p> </div> </td> </tr> <tr> <td width=”24%”>Kitap Adı*:</td> <td colspan=”2″> <input type=”text” name=”KitapAdi” size=”30″ maxlength=”50″ style=”color: #006FA4; font-family: Tahoma; font-size: 8pt; border-style: solid; border-width: 1″> </td> </tr> <tr> <td width=”24%”>Yazarı*:</td> <td colspan=”2″> <input type=”text” name=”Yazari” size=”25″ maxlength=”50″ style=”color: #006FA4; font-family: Tahoma; font-size: 8pt; border-style: solid; border-width: 1″> </td> </tr> <tr> <td width=”24%”>Yayın Evi:</td> <td colspan=”2″> <input type=”text” name=”YEvi” size=”20″ maxlength=”50″ style=”color: #006FA4; font-family: Tahoma; font-size: 8pt; border-style: solid; border-width: 1″> </td> </tr> <tr> <td width=”24%”>Fiyatı*:</td> <td colspan=”2″> <input name=”Fiyati” type=”text” size=”10″ maxlength=”25″ style=”color: #006FA4; font-family: Tahoma; font-size: 8pt; border-style: solid; border-width: 1″> </td> </tr> <tr> <td width=”24%”>Açıklama:</td> <td colspan=”2″> <textarea name=”Aciklama” wrap=”VIRTUAL” rows=”5″ cols=”35″ style=”color: #006FA4; font-family: Tahoma; font-size: 8pt; border-style: solid; border-width: 1″></textarea> </td> </tr> <tr> <td width=”24%”> </td> <td width=”7%”> <input type=”submit” name=”btnEkle” value=”Ekle” style=”color: #006FA4; font-family: Tahoma; font-size: 10pt; border-style: solid; border-width: 1″> </td> <td width=”69%”> <input type=”reset” name=”Reset” value=”Temizle” style=”color: #006FA4; font-family: Tahoma; font-size: 10pt; border-style: solid; border-width: 1″> </td> </tr> <tr> <td width=”24%”> </td> <td colspan=”2″> </td> </tr> </table> </form> </body> </html> |
Dikkat ederseniz bu sayfada database’e kayıt yazdıracak herhangi bir kod yok. Sayfada bir form var ve bu formdaki değerler, “ekle2.asp”‘ye gönderiliyor. Tahmin ettiğiniz gibi veritabanına kaydı girecek olan kodlar “ekle2.asp”‘de:
| <!–#INCLUDE FILE=”adovbs.inc”–> <% ‘Değişkenler atanır KitapAdi=TRIM(Request(”KitapAdi”)) Yazari=TRIM(Request(”Yazari”)) YEvi=TRIM(Request(”YEvi”)) Fiyati=TRIM(Request(”Fiyati”)) Aciklama=TRIM(Request(”Aciklama”)) Alanlar boşsa varsayılan değerleri gir If KitapAdi=”" Then KitapAdi=”???” If Yazari =”" Then If Fiyati =”" Then If YEvi=”" Then If Aciklama=”" Then set Con=server.CreateObject(”ADODB.Connection”) %> <html> <body bgcolor=”#ECF5FF” text=”#000000″> ‘liste tablosuna ilgili alanları gir ‘ayrinti tablosuna ilgili alanları gir %> <table width=”100%” border=”0″ align=”center”> </body> |


























Son Yorumlamalar