Selamun aleyküm, merhaba geçen dersimde veritabanına kayıt eklemeyi anlatmıştım. Bu dersimde veritabanında bulunan tablolardan kayıt çekmeyi anlatacağım inşaallah.
Daha önceki veritabanına kayıt ekleme dersini hatırlamak isterseniz buradan okuyabilirsiniz.
Unutulmaması gereken bir hususta veritabanı ile ilgili işlem yapılacaksa mutlaka veritabanı ile bağlantı kurulmalıdır. Ben, bu derslerde kodların arasına bağlantı kodlarını ve php açma kapama etiketlerini eklemiyorum. Siz örneği çalıştırabilmeniz için bağlantı kodlarını ve php açma kapama etiketlerini ekleyiniz.
Veritabanına bağlantı kurma dersini buradan okuyabilirsiniz. Kaynak: www.mustafakarsli.com
Kayıt çağırmadan önce var olan veritabanındaki tablonun görüntüsü aşağıda verilmiştir.
Yukarıdaki duyurular tablosunun 3 alanı olup 2 tane de kayıt bulunmaktadır. Bu dersimde veritabanındaki kayıtları çağırmayı anlatacağım.
Tablodaki Verileri Seçme Kaynak: www.mustafakarsli.com
Aşağıda yukarıdaki tablodaki verileri kullanmamıza yarayacak kodlar verilmiştir. Kodları inceleyerek açıklayalım.
mysql_query("select * from duyurular");
Veritabanından seçim yapmamızı sağlayan komut yukarıdaki gibidir. Buradaki siyah yazılar her zaman olması gereken parametreler olup kırmızı yazılı yerler ise kendi isteğimize göre seçim yapacağımız parametrelerdir. Yukarıdaki satır veritabanındaki duyurular tablosundaki her alanı seçmemizi sağlar. Bu satırda * yerine alan adı da (sutun adı) yazılabilir. Mesela duyurular tablosundan yalnızca kayitno alanlarını seçmek istiyorsak * yerine alan adını (sutun adı) yazmamız gerekmektedir. Aşağıdaki gibi…
mysql_query("select kayitno from duyurular");
Tabloyu Satır Satır Çalıştırmak
Yukarıdaki gibi tablodan seçim yaptıktan sonra bu seçimi bir değişkene atmalıyız ve bu seçimi satır satır yorumlamalıyız.
$sorgu=mysql_query("select * from duyurular");
$satir=mysql_fetch_array($sorgu);
Yukarıdaki kodları açıklarsak birinci satırdaki kodumuz veritabanındaki bütün alanları seçmekte ve bunu $sorgu değişkenine atamaktadır.
İkinci satır ise $sorgu değişkenine atadığımız tabloyu satır satır yani kayıt kayıt parçalayarak kullanıma açmaktadır. Yani ikinci satırda veritabanımızdaki duyurular tablosundaki ilk kayıt $satir değişkenine alınmaktadır.
İkinci satır tekrarlandığında tablodaki bir sonraki kayıt (satır) alınacaktır.
$sorgu=mysql_query("select * from duyurular");
$satir=mysql_fetch_array($sorgu);
$satir=mysql_fetch_array($sorgu);
Bir önceki örneği yukarıdaki şekilde yazacak olursak $satir değişkeni ikinci kaydı tutuyor olacaktır.
Kaydı (Satırı) Ekrana Yazdırma
Tabloyu seçtik, satır satır işledik ve işlerken yazdırma kısmına gelince; $satir=mysql_fetch_array($sorgu);
kodu tablonun satırını $satir değişkenine alırken dizi değişkeni olarak alır ve dizi değişkeni olarak kullanılır. Yani 3 alandan oluşan kaydımızın her alanı dizi değişkeninin bir elemanı olarak kaydedilir. Birinci satırı / kaydı aldığını düşünerek açıklayacak olursak; “1 - ders 1 – ilk dersimizi yayınlamış bulunuyoruz” satırının kayıtno’su dizinin ilk elemanı olur, duyurubaslik ikinci eleman, duyurumetin ise 3.eleman olarak alınır.
$satir[0] dediğimizde kayıt no’sunu yani “1” değerini alırız. Kaynak: www.mustafakarsli.com
$satir[1] dediğimizde duyurubaslik yani “ders 1” değerini alırız.
$satir[2] dediğimizde duyurumetin yani “ilk dersimizi yayınlamış bulunuyoruz” değerini alırız.
echo "No="; echo $satir[0]; echo " Başlık="; echo $satir[1]; echo " Duyuru="; echo $satir[2];
şeklinde yazılırsa aşağıdaki gibi kaydı ekrana yazdırmış oluruz:
No=1 Başlık=ders 1 Duyuru=ilk dersimizi yayınlamış bulunuyoruz
Bu şekilde fetc_array ile alınan satırı ekrana yazdırabiliriz. Ama çok sayıdaki kaydı bu şekilde yazdırmak çok zor olur. Tablodaki bütün kayıtları yazdırmak için aşağıdaki kodu kullanacağız.
$sorgu=mysql_query("select * from duyurular");
while($satir=mysql_fetch_array($sorgu))
{
echo "No=".$satir[0]." Başlık=".$satir[1]." Mesajınız=".$satir[2]."<br>";
}
Kaynak: www.mustafakarsli.com
Yukarıdaki kod incelendiğinde tablonun hepsi seçiliyor ve satır sayısı kadar while döngüsü içinde her satır ekrana alt alta yazdırılıyor.
No=1 Başlık=ders 1 Duyuru=ilk dersimizi yayınlamış bulunuyoruz
No=2 Başlık=ders 2 Duyuru=ikinci dersimiz yoğun ilgiyle devam ediyor
Bu şekilde veritabanındaki kayıtları çağırıp kullanabilirsiniz. İlerleyen derslerde görüşmek üzere sağlıcakla kalınız.
Mustafa KARSLI Kaynak: www.mustafakarsli.com