PHP PDO Read İşlemi

PHP PDO Read İşlemi

Hepinize merhaba dostlarım :). Önceki yazımızda php üzerinde MySQL e veri eklemeyi öğrenmiştik. Okumayan arkadaşlarımız için link bırakıyorum

Şimdi ise eklediğimiz verileri çekmeyi göreceğiz. 

Dostlarım bu verilerin çekilme işleminde normalde 2 yol var. Bunlar fetch() ve fetchAll() olarak ikiye ayrılır. Gelin bunlar nedir bir kontrol edelim.

1-) fetch()

Dostlarım teorik anlatımdan çok pratik anlatım ve mantığını anlatmaktan yanayım :). fetch() methodunun temel amacı çekmek demektir. fetchAll() dan farkı sadece tek veri çekme işlemini gerçekleştirir. Gelin bir örnekle bu işlemi gerçekleştirelim

Dostlarım MySQL içerisine bir ayarlar tablosu oluşturalım ve tablonun özelliklerini aşağıdaki gibi ayarlayalım

id integer(11) auto_increment not null
okul_adi varchar(255)
okul_telefon varchar(255)
okul_adres varchar(255)

bu şekilde okul tablosunu ayarladık diyelim dostlarım. Ve içerisine MySQL üzerinden tek veri ekleme işlemini ayarlayalım

okul_adi = "Yazılım Okulu"
okul_telefon = "111 22 33"
okul_adres = "A caddesi B sokak no:15"

bu şekilde tek bir veriyi ekleyelim dostlarım. Şimdi gelelim bu verileri biz tabloya çekelim. Bunu nasıl yapacağız zor olur mu acaba diye düşünmeyin ekleme işleminden bile basit olduğunu net bir şekilde söyleyebilirim :). Öncelikle listeleme sayfasını oluşturalım

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>PHP PDO Read | MFSoftware Blog</title>
  
  <style>
    table thead th{
      border : 2px solid black;
    }
    
    table tbody td{
      border: 2px solid black;
    }
  </style>
  
</head>
<body>
  <table>
    <thead>
      <tr>
      <th>ID</th>
      <th>Okul Adı</th>
       <th>Okul Telefon</th>
       <th>Okul Adres</th>
    </tr>
    </thead>
    <tbody>
      <tr>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
      </tr>
    </tbody>
  </table>
</body>
</html>

bu şekilde bir veri listeleme sayfası oluşturduk dostlarım. Artık baglan.php yi oluşturacak seviyeye geldiğinizi umuyorum. Onu da yaptıysanız geriye kalan bu sayfaya onu include etmek ve verileri çekmek kaldı :). Gelin hızlıca onu da yapalım

<?php
  include('baglan.php'); // BAGLANTI DOSYASINI BURAYA DAHİL ETTİK
?>

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>PHP PDO Read - Ayarlar Listesi | MFSoftware Blog</title>
  
  <style>
    table thead th{
      border : 2px solid black;
    }
    
    table tbody td{
      border: 2px solid black;
    }
  </style>
  
</head>
<body>

<?php
  // SQL VERİ ÇEKME İŞLEMİNİ YAZALIM
  $ayarlar = $db->prepare("SELECT * FROM ayarlar");
  $ayarlar->execute(); // SORGUYU ÇALIŞTIRALIM
  $ayar_cek = $ayarlar->fetch(PDO::FETCH_ASSOC); // ŞU AN BÜTÜN VERİ $ayar_cek değişkeni içinde :)

?>

  <table>
    <thead>
      <tr>
      <th>ID</th>
      <th>Okul Adı</th>
       <th>Okul Telefon</th>
       <th>Okul Adres</th>
    </tr>
    </thead>
    <tbody>
      <tr>
        <td><?php echo $ayar_cek['id']; ?></td>     ---> okul id bilgisi burada
        <td><?php echo $ayar_cek['okul_adi']; ?></td>   ---> okul adı bilgisi burada
        <td><?php echo $ayar_cek['okul_aciklama']; ?></td>  ---> okul açıklama bilgisi burada
        <td><?php echo $ayar_cek['okul_adres']; ?></td>   ----> okul adres bilgisi burada
      </tr>
    </tbody>
  </table>
</body>
</html>

evet dostlarım :) tek satır bir kaydımız olduğunda veri tabanında bu şekilde ekrana getirebiliriyoruz :). Şimdi gelelim çoklu veri çekmemizde işimize yarayacak olan fetchAll() methoduna :)

2-) fetchAll()

Dostlarım yine mantık üzerinden gideceğiz :). fetch() methodu ile tek veri getirdiğimizi önceki örnekte gördük. Bu örnekte fetchAll() yani all kelimesini biliriniz hepsi demek fetch de çekmek demek. Hepsini getir diyoruz. Peki biz bunu yazdığımızda aynı ayar çekmesi gibi mi olacak diye merak ediyorsanız hayır o şekilde çekmeyeceğiz :). Foreach isimli bir dizi döngüsü kullanacağız. Sözü daha fazla uzatmadan sql de oluşturduğumuz ogrenciler tablosuna 3 öğrenci ekleyelim

adi = "Ahmet";
soyadi = "Çınar";
cinsiyeti = 1;

adi = "Veli";
soyadi = "Çınar";
cinsiyeti = 1;

adi = "Fatma";
soyadi = "Demir";
cinsiyeti = 0

bu şekilde 3 öğrenci ekleyelim dostlarım. Şimdi gelelim öğrenci listeleme sayfasını tasarlamaya

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>PHP PDO Read - Öğrenci Listesi | MFSoftware Blog</title>
  
  <style>
    table thead th{
      border : 2px solid black;
    }
    
    table tbody td{
      border: 2px solid black;
    }
  </style>
  
</head>
<body>
  <table style="border: 2px solid black;">
    <thead>
      <tr>
      <th>ID</th>
      <th>Öğrenci Adı</th>
       <th>Öğrenci Soyadı</th>
       <th>Öğrenci Cinsiyet</th>
    </tr>
    </thead>
    <tbody>
      <tr>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
      </tr>
    </tbody>
  </table>
</body>
</html>

bu şekilde öğrencilerin listelenme sayfasını tasarlamış bulunmaktayız dostlarım. Şimdi gelelm öğrencileri listeleme kısmına aktarmaya

<?php
 include('baglan.php'); // SQL BAĞLANTI DOSYASINI SAYFAYA DAHİL EDELİM
?>

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>PHP PDO Read - Öğrenci Listesi | MFSoftware Blog</title>
  
  <style>
    table thead th{
      border : 2px solid black;
    }
    
    table tbody td{
      border: 2px solid black;
    }
  </style>
  
</head>
<body>

   <?php
    // ÖĞRENCİLERİ VERİ TABANINDAN ÇEKELİM
    $ogrenci = $db->prepare("SELECT * FROM ogrenciler");  // SORGUYU YAZALIM
    $ogrenci->execute();  // SORGUYU ÇALIŞTIRALIM
    $ogrenci_cek = $ogrenci->fetchAll(PDO::FETCH_ASSOC); // TÜM VERİLERİN ÇEKİLMESİNİ İSTEYELİM

   ?>

  <table style="border: 2px solid black;">
    <thead>
      <tr>
      <th>ID</th>
      <th>Öğrenci Adı</th>
       <th>Öğrenci Soyadı</th>
       <th>Öğrenci Cinsiyet</th>
    </tr>
    </thead>
    <tbody>
    
    <?php foreach($ogrenci_cek as $key){ ?>
      <tr>
        <td><?php echo $key['id']; ?></td>
        <td><?php echo $key['adi']; ?></td>
        <td><?php echo $key['soyadi']; ?></td>
        <td><?php echo $key['cinsiyeti']; ?></td>
      </tr>
    <?php } ?>
    </tbody>
  </table>
</body>
</html>

evet dostlarım :). Çoklu veri çekme işlemini de bu şekilde yapıyoruz.

Artık tekli ve çoklu veri çekme işlemini de öğrenmiş oldunuz :) Hayallerinizi gerçekleştirmeniz dileklerimle... İyi çalışmalar :)

Muhammed Fatih BAĞCIVAN
Yazar Hakkında

Kendi Halinde Bir Backend Developer

Önceki YazıPHP PDO Insert İşlemi
Sonraki YazıJavascript ile Değişken Tanımlama ve Kullanma
Yorumlar (0)
Bu Yazıya Ait Hiçbir Yorum Bulunamadı (veya admin onaylamadı). İlk Yorum Yapan Sen Ol
Yorum Yapabilirsiniz