PHP ile MySQL veritabanına PDO tekniği ile Bağlanma -3














PDO ile PHP Dili Kullanarak MySQL veritabanına bağlanma ile ilgili yazı dizimizin;

1.Bölüm 'de PHP'de PDO(PHP Veri Nesneleri) kütüphanesini kullanmak için gerekli Class(Sınıf tanımlaması yapılmıştır.)

2.Bölüm 'de ise 1. Bölümde anlatılan Class'tan nesne türetilerek veritabanında tek satır veri çekilmiştir.

Bu bölümde de tamCek() metodu kullanılarak, tüm satırların gerek foreach gerek for döngüsü ile ekrana yazdırılması gösterilecektir. PHP ile döngülerin kullanımı C,C++, Java, C# dilleri ile hemen hemen aynıdır. PHP'de döngüleri bilmiyorsanız kaynaklardan tekrar inceleyiniz.
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="tr-TR" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>PDO ile Tüm Verileri veritabanından Çekme</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="Language" content="Turkish"/>
</head><body>
<?php 
// Yukarıdaki kısımlar her web sayfasında olan standart kısımlar
 require 'baglan.php'; 
 require 'fonksiyonlar.php';
 
//veriTabanı sınıfından $db nesnesini türetiyoruz.
 $db= new veriTabani();
 
 $bulunacak="Elazığ";
//Örnek olması açısından bir değişkene bulunacak il değerini atadık. 
 
$sql = "SELECT * from tblogrenci where DOGUMYERI=:aranan";
// Burada veritabanına DOGUMYERI alanına birden fazla Elazığ geçtiğini varsayıyoruz.
// 2. Bölümde anlattığımız gibi parametre değişkenin önünde : oluyor. 
 
 
$db->sorgula($sql);
$db->bind('aranan',$bulunacak);
//parametre değişkene $bulunacak  değerini geçiriyoruz.
 
$satirlar = $db->tamCek(); 
//Veritabanından tamCek() fonksiyonu ile tüm kayıt satırları
//dönüyor, foreach döngüsü ile tüm verileri ekrana yazdırıyoruz.
//Tablonun her bir satırına ulaşmayı $satir ile sağlıyoruz.

echo "1. Yöntem For Each Döngüsü ile tüm verileri çekme <br>";
foreach ($satirlar as $satir)
{
  $adi= $satir['ADI'];
  $soyadi= $satir['SOYADI'];
  $dogumyeri= $satir['DOGUMYERI'];
  echo $adi . " ".$soyadi." ".$dogumyeri."<br>";
}

// İsterseniz burada foreach döngüsü yerine for döngüsü de kullanabilirsiniz. Yalnız, tamCek()
// metodunun döndürdüğü satır sayısını bilmeniz gerekir.


echo "2. Yöntem For Döngüsü ile veri çekme <br>";
$satirSayisi = $db->satirSay();
for ($i=0; $i<$satirSayisi; $i++)
{
$adi= $satir['ADI'];
$soyadi= $satir['SOYADI'];
$dogumyeri= $satir['DOGUMYERI'];
echo $adi . " ".$soyadi." ".$dogumyeri."<br>";
}
?>
</body>
</html>

Yukarıdaki kodları yerel sunucuda çalıştırdığınızda aşağıdaki gibi bir sonuç göreceksiniz.

1. Yöntem For Each Döngüsü ile tüm verileri çekme 
Yavuzhan TAŞ Elazığ
Oğuzhan TAŞ Elazığ
2. Yöntem For Döngüsü ile veri çekme 
Oğuzhan TAŞ Elazığ
Oğuzhan TAŞ Elazığ

Hangi döngüyü kullanacağınızı size bırakıyorum,  foreach döngüsünün kullanım alanı sınırlıdır, tüm verileri gözden geçirdiği için klasik for döngüsünü kullanmak bazen daha avantajlı olabilir. Bu kısımda for ve foreach döngülerini kullanarak veritabanından aldığımız tüm satırları ekrana yazdırdık. Bundan sonraki kısımda kayıt EKLEME(Insert), SİLME(Delete) ve DEĞİŞTİRME(Update) anlatılacaktır.  Örnek veritabanını ve yukarı yazdığımız PHP kodlarını aşağıdaki linkten indirebilirsiniz.

KAYNAK DOSYA 

İyi günler dilerim.
Oğuzhan TAŞ - 2014
Bookmark and Share