Konular

Bindings Paneli

Veri bağlantılarının yönetildiği panel

Bindings Paneli

Öncelikle File / New menüsü ile "Dynamic Pages" sekmesinden yeni bir PHP dokümanı oluşturuyor ve bunu sitemiz altında uygun bir yere kaydediyoruz.

Ardından eğer açık değilse Window / Bindings menüsü ile "Bindings" panelini aktif hale getiriyoruz.

"Bindings" paneli işlev itibari ile veri bağlantılarımızın yönetildiği panel oluyor. Bu verilerin kaynakları sadece veritabanı değil; çerez (cookie), oturum (session), form verisi (form variable) ya da adres satırı parametresi (URL variable) gibi diğer ortam kaynakları da olabilmekte.

Şimdi işe koyulabiliriz. Sayfada uygun gördüğünüz bir yere Makaleler yazarak bunu H1 (Heading 1) olarak biçimlendiriyoruz. Tabi siz mutlaka böyle yapacaksınız diye bir kaide yok ama sayfada neyin nerde olduğunu anlayabilmek adına ben basit bir sayfa düzeni ve CSS tanımlamaları yaratacağım. Siz çalışmalarınızda istediğiniz tasarımı yaparak aynı işlemleri gerçekleştirebilirsiniz.

Biz burada çok sayıda kayıttan sadece belli bir sayıdakini sayfaya nasıl bastıracağımızı ve bunları listeleteceğimizi göreceğiz. Şimdi veritabanından gelen kayıtların sayfanın neresinde olacağına karar verip buraya bir DIV ekliyoruz. Bu DIV için önceden tanımladığım bir stili de bu DIV'e uygulayarak her bir kayıt için bir konteynır niteliği taşıyan bir kutuyu biçimlendirerek sayfaya ekliyoruz.

Bu işlemin görsel kısmı idi şimdi veritabanı işlemlerine geçebiliriz. Bindings paneline dönüp + işaretine tıklayarak açılan menüden "Recordset (Query)" seçeneğine tıklayarak kayıt dizisi tanımlama iletişim penceresini açıyoruz.

Name: Kayıt dizimiz için açıklayıcı ve bizim için anlamı olan bir isim giriyoruz.
Connection: Önceden tanımlamış olduğumuz veritabanı bağlantısını seçiyoruz. Eğer başka bir veritabanına bağlanmak istersek "Define..." düğmesine tıklayarak yeni bir bağlantı yaratabiliriz.
Table: Seçilen ilgili bağlantının sahip olduğu veri tablolarından bizi ilgilendiren tabloyu seçiyoruz.
Columns: Seçilen tablonun veri alanları (fields). Buradan "All" dediğimizde bütün veritabanı alanları çekilecektir ."Selected" da ise sadece seçtiğimiz alanlar çekilecektir.
Filter: Tabloda yer alan kayıtları belli bir kritere göre filtrelemek ve sadece istediğimiz nitelikteki kayıtları çektirmek için bu kısmı kullanıyoruz.
Sort: Kayıtlarımızın sıralanma türünü bu kısım belirtiyor.Buradan "tarih" alanını seçip "Descending" dediğimizde kayıtlarımızı tarih alanına göre azalan sıra ile sıralatmış oluyoruz. Eğer "Ascending" seçeneğini seçseydik artan sıra ile çekmiş olacaktır.

Kayıt dizisi tanımlama iletişim penceresi

İlgili ayarlarımızı yaptıktan sonra "Test" diyerek bu sorgu sonucu hangi kayıtların çektirileceğini önceden görüp kriterlerde değişiklik yapma şansına da sahibiz.

Eğer buradaki kriter işlemleri veya sıralatma seçenekleri size yeterli gelmediyse daha gelişmiş sorgular düzenleyebileceğiniz gelişmiş sorgu ekranına geçmek için "Advanced" düğmesine tıklayabilirsiniz.

Tekrar standart sorgu ekranına dönmek için "Simple" düğmesine tıklayabilirsiniz. Kayıt dizimiz ile ilgili ayarları yaptıktan sonra "OK" diyerek işlemi tamamlayabiliriz.

Şimdi Bindings paneline tekrar baktığımızda bu panelin biraz önce yarattığımız kayıt dizisinin özellikleri şeklinde yeniden biçimlendiğini göreceğiz. İşler bu aşamadan sonra oldukça kolaylaşıyor. Zira işin geri kalan kısmı sürükle bırak mantığı üzerine kurulu diyebiliriz.

Şimdi "baslik" alanına tıklayıp sayfaya önceden eklediğimiz DIV içerisine sürüklüyoruz sonra bir kez ENTER'a basıp yeni bir paragraf yaratıyoruz ve buraya da "ozet" alanını sürükleyip bırakıyoruz. Aynı şekilde "tarih" alanını da uygun bir yere sürükleyip bıraktıktan sonra sayfanın DW içerisindeki son hali resimdeki gibi görünecektir. Gördüğünüz gibi açık mavi arka fon ile belirtilen kısımlar dinamik metin olarak tabir edilen veritabanından gelen bilgilerin yerini göstermektedir. Yazım şekli de {yazdir.baslik} şeklinde olduğu dikkatini çekmiştir. Burada "yazdir" kayıt dizimizin adını "baslik" ise veritabanı alan adını belirtmekte. Böylece sayfadaki çoklu kayıt dizileri ile yapılan çalışmalarda hangi alanın hangi kayıt dizisinden geldiğini görebilmeniz daha kolay olacaktır.

Başlığın vurgulu olması açısından bir başlık stili ile biçimlendirebilir ya da en azından kalın hale getirebiliriz.

Yeri gelmişken belirtelim: MySQL 4.1.1 sürümünden itibaren "collation" olarak adlandırılan veritabanında depolanan verinin dil kodlama bilgisini içeren bir özelliği de beraberinde getirdi. Bu nedenle veritabanı bilgi çekme işlemlerinde MySQL manipülasyonlarından önce hangi karakter kodlamasının kullanılacağı MySQL'e bildirilmesi gerekmektedir. Benim bu makaleyi yazdığım dönemde DW'ın henüz böyle bir "collation" seçme desteği yoktu. Bu nedenle DW'ın yazdığı kodlara elimizle ufak bir müdahalede bulunarak sorunu çözeceğiz. DW'da kod görünümüne geçiyoruz ve sayfanın en üstlerinde yer alması gereken şu kod bloğunu buluyoruz;

<?php
require_once('Connections/baglantim.php'); ?>

Burada geçen "baglantim.php" kısmı sizin bağlantınıza verdiğiniz isme göre değişecektir. Şimdi bu kod bloğunun altına şu bloğu ekliyoruz:

<?php
mysql_query("SET NAMES latin5");
?>

Makalede kullandığımız örnek veritabanın collation ayarı "latin5_turkish _ci" olarak ayarlandığından biz burada "latin5" collation gurubunu kullanacağız. Siz çalıştığınız projelerde bunu ihtiyacınıza göre ayarlayabilirsiniz. Bu aşamadan sonra sayfalarımızda Türkçe karakter sorunu kalmayacaktır.

Veritabanımızda kayıt olmadığı durumlarda bu kayıt dizisi doğal olarak hiç kayıt döndüremeyecek ve şuanda herhangi bir kontrol eklemediğimiz için aynı şekilde kayıt bilgilerini sayfaya yazdırmaya çalışacaktır. Buda boş bir sayfa ve / ve ya hata mesajlarının çıkmasına sebep olacaktır. Bunu engellemek için veritabanında hiç kayıt yoksa ekrana "Hiç kayıt bulunamadı" tarzında bir şeyler yazdırmak ve kayıtların gösterildiği kısımların sadece eğer kayıt dizisi dolu iken gösterilmesini sağlamak en mantıklısı olacaktır. Bunun için;

Kayıt bilgilerinin sayfaya yazdırıldığı alanın dışında bir yere yeni bir paragraf açıp "Hiç kayıt bulunamadı" yazıyoruz. Bunu seçip Server Behaviors panelinden Show Region / Show If Recordset Is Empty seçeneğini seçiyoruz ve bunun sadece kayıt dizisi boşken görüntülenmesini sağlıyoruz.

Aynı şekilde kayıt bilgilerinin yazdırıldığı alanı seçip Server Behaviors panelinden Show Region / Show If Recordset Is Not Empty seçeneği ile kayıt dizisi boş değilken gösterilmesini sağlıyoruz. Bu aşamada seçim işlemleri biraz başınızı ağrıtabilir. Bu nedenle kayıt dizisi boş iken gösterilecek kısımlar ile dolu iken gösterilecek kısımları ayrı ayrı birer DIV içerisine yerleştirmek bu seçim işlemini önemli ölçüde kolaylaştıracaktır.


Kaynak : http://www.dw.gen.tr/?module=articles&page=detail&id=235&part=1
Yorumunuzu Ekleyin

Database Paneli

Database paneli

24,940 Okunma 1 Yorum 05/06/2008 10:46:38

Div Çatılı sayfalar Oluşturmak

Çok değil birkaç yıl önce sayfa tasarımlarımızı yaparken ara yüz bileşenlerini tablolar kullanarak görünmez ızgaralar üzerine inşa ederdik. Bu durum; HTML yapı dilinin web tasarımcıları tarafından hatalı yorumlanmasının ve kullanılmasının bir sonucu idi. Tarayıcılar arası çekişmelerin ve tüm Internet alışkanlıklarımızı etkileyen tarayıcı savaşlarının bir sonucu olarak ortaya çıkmıştı. Fakat Web 2. 0 kavramının gündeme geldiği şu günlerde artık eski tasarım alışkanlıklarını bir kenara bırakıp modern tasarım ve web teknolojilerine cevap verecek web sayfaları tasarlamanın vakti geldi de geçiyor bile

24,724 Okunma Henüz yorum yapılmamış 06/08/2007 17:55:00

Recordset ile verileri sayfaya yazdırmak

Kayıt dizisi (recordset) ile Dreamweaver içerisinden veritabanına erişim sağlayarak, kriterlere göre ve ya istediğimiz sayıda kaydı sayfaya yazdırmak mümkün. Bizde bu makale ile veritabanı kayıt erişimlerini yakından inceleyeceğiz

20,575 Okunma Henüz yorum yapılmamış 31/08/2007 14:19:45

Bindings Paneli

Dreamweaver bindings paneli

19,675 Okunma Henüz yorum yapılmamış 05/06/2008 10:03:38

Datebases Paneli

Resimli anlatım

18,529 Okunma Henüz yorum yapılmamış 06/06/2008 11:05:53

Database Paneli

Veritabanlarına erişmek

18,418 Okunma Henüz yorum yapılmamış 05/06/2008 09:12:39

Named Anchor

Named anchor aracı ile ilgili açıklamalar

18,009 Okunma Henüz yorum yapılmamış 05/06/2008 10:18:51

Dreamweaver ile Site tanımlamaları

Dreamweaver birçok geliştirme ortamında olduğu gibi proje bazlı çalışmalar yapmaya olanak tanıyan bir yazılımdır. Bu makalede projelerimizi DW içerisinde nasıl yönetebileceğimizi göreceğiz

17,799 Okunma Henüz yorum yapılmamış 01/09/2007 02:25:54

ASP sayfası hazırlama

Dreamweaver mx de ASP çalışmak için daha önceden ASP ile uğraşmış olmak gereklidir. Her nekadar Dreamweaver Mx işimizi kolaylaştırsa da ASP 'den anlamak bazı durumlarda faydalı olacaktır. ASP öğrenmek için Dr. Hakkı ÖCAL 'ın ASP kitaplarını tavsiye ederim

17,653 Okunma Henüz yorum yapılmamış 12/08/2007 04:13:11

Dramweaver Databases

Dramweaver databases

16,768 Okunma Henüz yorum yapılmamış 05/06/2008 09:23:09

Yükleniyor...