PHP PDO Veri Listeleme

PDO ile veritabanı tablosundan verileri çekme ve çekilen verileri listeleme ile ilgili bilgiler yer almaktadır.

PDO ile veri çekme işlemi için öncelikle PHP PDO Veritabanı Bağlantısı ile bağlantı yapılıp uygun SQL komutunun yazılması yeterli olacaktır.

PDO ile veri seçme işlemi SELECT SQL komutu ile yapılır.

Sadece belirli sütunları seçmek için

SELECT sutun1, sutun2,sutunN FROM tablo_adi

kullanılır.

Tablodaki tüm sütunları seçmek için sütun yerine sadece yıldız (*) karakterinin eklenmesi yeterli olacaktır.

SELECT * FROM tablo_adi

Veri listeleme işlemi PHP PDO Veri Çekme işlemine benzer, veri listeleme işleminde ayrıca döngü yardımıyla tüm verilerin listelenmesi sağlanır.

<?php

try {

    $baglanti = new PDO("mysql:host=localhost;dbname=kisi", "root", "");
    $baglanti->exec("SET NAMES utf8");
    $baglanti->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sorgu = $baglanti->query("SELECT kisi_adi, kisi_soyadi, kisi_eposta FROM kisiler");

    while ($cikti = $sorgu->fetch(PDO::FETCH_ASSOC)) {
        echo "Adı: " . $cikti["kisi_adi"] . "<br /> Soyadı: " . $cikti["kisi_soyadi"] . "<br /> E-posta: " . $cikti["kisi_eposta"] . "<hr />";
    }

} catch (PDOException $e) {
    die($e->getMessage());
}

$baglanti = null;

?>

Veri listeleme işlemi prepare (ön hazırlıklı sorgu) metodu içinde aynıdır.

<?php

try {

    $baglanti = new PDO("mysql:host=localhost;dbname=kisi", "root", "");
    $baglanti->exec("SET NAMES utf8");
    $baglanti->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sorgu = $baglanti->prepare("SELECT * FROM kisiler");
    $sorgu->execute();

    while ($cikti = $sorgu->fetch(PDO::FETCH_ASSOC)) {
        echo "Adı: " . $cikti["kisi_adi"] . "<br /> Soyadı: " . $cikti["kisi_soyadi"] . "<br /> E-posta: " . $cikti["kisi_eposta"] . "<hr />";
    }

} catch (PDOException $e) {
    die($e->getMessage());
}

$baglanti = null;

?>

PDOStatement sınıfı ayrıca foreach döngüsü ile de veri listeleme için kullanılabilir.

<?php

try {

    $baglanti = new PDO("mysql:host=localhost;dbname=kisi", "root", "");
    $baglanti->exec("SET NAMES utf8");
    $baglanti->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sorgu = $baglanti->prepare("SELECT kisi_adi, kisi_soyadi, kisi_eposta FROM kisiler");
    $sorgu->execute();

    foreach ($sorgu as $cikti) {
         echo "Adı: " . $cikti["kisi_adi"] . "<br /> Soyadı: " . $cikti["kisi_soyadi"] . "<br /> E-posta: " . $cikti["kisi_eposta"] . "<hr />";
    }

} catch (PDOException $e) {
    die($e->getMessage());
}

$baglanti = null;

?>

Veri listeleme işleminde önemli olan verinin uygun bir şekilde yazdırılmasıdır.

<?php

try {

    $baglanti = new PDO("mysql:host=localhost;dbname=kisi", "root", "");
    $baglanti->exec("SET NAMES utf8");
    $baglanti->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sorgu = $baglanti->prepare("SELECT * FROM kisiler");
    $sorgu->execute();

    $html = "Kişiler: <br />";
    $html .= "<select>";

    while ($cikti = $sorgu->fetch(PDO::FETCH_ASSOC)) {
        $html .= "<option>" . $cikti["kisi_adi"] . " " . $cikti["kisi_soyadi"] . "</option>";
    }

    $html .= "</select>";

    echo $html;
    
} catch (PDOException $e) {
    die($e->getMessage());
}

$baglanti = null;

?>

Örnekte veriler açılır menü biçiminde listelenmiştir, benzer şekilde tablo veya farklı bir tasarıma göre veri listeleme işlemi yapılabilir.

PHP PDO Derslerine buradan ulaşabilirsiniz…

Hayırlı günler dilerim.

Yusuf SEZER

Yusuf SEZER

Computer Engineer who interested about web technologies, algorithms, artificial intelligence and embedded systems; constantly exploring new technologies.


Bunlara'da bakmalısın!