Yazdır 30 Haziran 2010 Çarşamba (Hit: 187815)

Kayıt Listeleme Örnekleri 2 (PHP)

Bu yazımızda veritabanındaki kayıtları farklı şekilde listeleme örnekleri verilecektir. Örneklerimizde okul isimli veritabanını kullanacağız. Bu veritabanında siniflar, ogrenciler, dersler ve notlar olmak üzere 4 tane tablo vardır. Bu veritabanını indirip yükleyerek örnekleri sizler de deneyebilirsiniz. Ayrıca veritabanı bağlantısını yapan baglan.php sayfasını tüm örneklerimizde include edip kullanarak tekrar tekrar yazmayacağız.

<?php
// bu sayfa baglan.php sayfasıdır.
$sunucu="localhost";
$kullanici="root";
$sifre="1234";
$veritabani="okul";

if (@!mysql_connect($sunucu, $kullanici, $sifre)){
	$mesaj="Veritabanı bağlantısı yapılamadı!<br>";
	$mesaj.="Hata açıklaması: ".mysql_error();
	die($mesaj);
}

if(@!mysql_select_db($veritabani)){
	$mesaj="$veritabani veritabanı seçilemedi!<br>";
	$mesaj.="Hata açıklaması: ".mysql_error();
	die($mesaj);
}
?>

 

Örnek: ogrenciler tablosundaki tüm öğrencileri tablo içerisinde listeleyelim.

<!-- bu sayfa index.php sayfasıdır. -->
<html>
    <head>
        <title>Öğrenci Listesi</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <style type="text/css">
        <!--
			body{
				background-color:#FFC;
			}
			.baslik th{
				background-color:#333;
				color:#FFF;
			}
			.satir0{
				background-color:#CFB;
			}
			.satir1{
				background-color:#CFD;
			}
			th {
				background-color:#C60;
				color:#FFF;
			}
        -->
        </style>
    </head>
    <body>
		<table border="1" cellspacing="2" cellpadding="2">
		  <tr class="baslik">
		    <th colspan="6" align="center">Öğrenciler Tablosu</th>
	      </tr>
		  <tr>
		    <th>S.n.</th>
		    <th>Numarası</th>
		    <th>Adı</th>
		    <th>Soyadı</th>
		    <th>Cinsiyeti</th>
		    <th>Sınıfı</th>
	      </tr>
		  <?php
		  include("baglan.php");
		  $i=0; // S.n. (Sıra no) için kullanılacak.
		  $sayi=0; // her satırı farklı renkte göstermek için class adında kullanılacak.
		  mysql_query("set names utf8");
		  $sonuc=mysql_query("select * from ogrenciler");
		  while($kayit=mysql_fetch_array($sonuc)){
			  $sayi=($sayi)?0:1; // eğer $sayi 1 ise 0, değilse 1 yap
			  echo "<tr class=\"satir$sayi\">";
			  echo "<th align=\"right\">",++$i,"</th>";
			  echo "<td align=\"right\">",$kayit["ogrenci_no"],"</td>";
			  echo "<td>",$kayit["adi"],"</td>";
			  echo "<td>",$kayit["soyadi"],"</td>";
			  echo "<td>",$kayit["cinsiyeti"],"</td>";
			  echo "<td>",$kayit["sinif_kodu"],"</td>";
			  echo "</tr>";
		  }
        ?>
    </table>
    </body>
</html>

Buradaki while döngüsü tablo içerisine kayıt sayısı kadar satır eklemektedir.

 

Örnek: 12blsa sınıfındaki öğrencileri numaralarına göre artan sıralı bir şekilde tabloda gösterelim.

<!-- bu sayfa index.php sayfasıdır. -->
<html>
    <head>
        <title>Öğrenciler</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <style type="text/css">
        <!--
			body{
				background-color:#FF9;
			}
			.baslik th{
				background-color:#333;
				color:#FFF;
			}
			.satir0{
				background-color:#CF9;
			}
			.satir1{
				background-color:#CFC;
			}
			th {
				background-color:#C60;
				color:#FFF;
			}
        -->
        </style>
    </head>
    <body>
		<table border="1" cellspacing="2" cellpadding="2">
		  <tr class="baslik">
		    <th colspan="6" align="center">12 Bilişim A sınıfı Öğrenci Listesi</th>
	      </tr>
		  <tr>
		    <th>S.n.</th>
		    <th>Numarası</th>
		    <th>Adı</th>
		    <th>Soyadı</th>
		    <th>Cinsiyeti</th>
		    <th>Sınıfı</th>
	      </tr>
		  <?php
		  include("baglan.php");
		  $i=0; // S.n. (Sıra no) için kullanılacak.
		  $sayi=0; // her satırı farklı renkte göstermek için class adında kullanılacak.
		  mysql_query("set names utf8");
		  $sonuc=mysql_query("select * from ogrenciler where sinif_kodu='12blsa' order by ogrenci_no asc");
		  while($kayit=mysql_fetch_array($sonuc)){
			  $sayi=($sayi)?0:1; // eğer sayı 0 ise 1, 1 ise 0 yap
			  echo "<tr class=\"satir$sayi\">";
			  echo "<th align=\"right\">",++$i,"</th>";
			  echo "<td align=\"right\">",$kayit["ogrenci_no"],"</td>";
			  echo "<td>",$kayit["adi"],"</td>";
			  echo "<td>",$kayit["soyadi"],"</td>";
			  echo "<td>",$kayit["cinsiyeti"],"</td>";
			  echo "<td>",$kayit["sinif_kodu"],"</td>";
			  echo "</tr>";
		  }
        ?>
    </table>
    </body>
</html>

Dikkat ederseniz bu örneğimiz önceki örnekten çok da farklı değildir. Sadece yapılan SQL sorgusunda değişiklik vardır. Bu şekilde istediğiniz sorguyu veritabanından yapabilirsiniz.

 

Örnek: ogrenciler tablosundaki tüm öğrencileri tablo içerisinde farklı bir şekilde listeleyelim. Aynı zamanda öğrencileri numaralarına göre artan sıralayalım.

<!-- bu sayfa index.php sayfasıdır. -->
<html>
    <head>
        <title>Öğrenciler</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <style type="text/css">
        <!--
			body{
				background-color:#FF9;
			}
			.baslik th{
				background-color:#333;
				color:#FFF;
			}
			.satir0{
				background-color:#CF9;
			}
			.satir1{
				background-color:#CFC;
			}
			th {
				background-color:#C60;
				color:#FFF;
			}
        -->
        </style>
    </head>
    <body>
		<?php
        include("baglan.php");
        echo "<table border=\"1\" cellspacing=\"2\" cellpadding=\"2\">";
        echo "<tr class=\"baslik\"><th colspan=\"6\">Öğrenciler Listesi</th></tr>";
        echo "<tr>";
        echo "<th>S.n.</th>";
        echo "<th>Numarası</th>";
        echo "<th>Adı</th>";
        echo "<th>Soyadı</th>";
        echo "<th>Cinsiyeti</th>";
        echo "<th>Sınıfı</th>";
        $i=0; // S.n. (Sıra no) için kullanılacak.
        $sayi=0; // her satırı farklı renkte göstermek için class adında kullanılacak.
        mysql_query("set names utf8");
        $sonuc=mysql_query("select * from ogrenciler order by ogrenci_no asc");
        while($kayit=mysql_fetch_array($sonuc)){
            $sayi=($sayi)?0:1;
			echo "<tr class=\"satir$sayi\">";
			echo "<th align=\"right\">",++$i,"</th>";
			echo "<td align=\"right\">",$kayit["ogrenci_no"],"</td>";
			echo "<td>",$kayit["adi"],"</td>";
			echo "<td>",$kayit["soyadi"],"</td>";
			echo "<td>",$kayit["cinsiyeti"],"</td>";
			echo "<td>",$kayit["sinif_kodu"],"</td>";
			echo "</tr>";
        }
        echo "</table>";
        ?>
    </body>
</html>

 

Örnek: Açılır listeye veritabanındaki tüm sınıfları ekleyelim.

<?php
include("baglan.php");
mysql_query("set names utf8");
$sonuc=mysql_query("select * from siniflar order by sinif_kodu");
echo "Sınıf Seçiniz: <select name=\"sinif_kodu\">";
while($kayit=mysql_fetch_array($sonuc)){
	echo "<option value=\"",$kayit["sinif_kodu"],"\">";
	echo $kayit["sinif_adi"];
	echo "</option>";
}
echo "</select>";
?>

Bu site meslek liselerinde bilişim bölümü web programcılığı dalında okutulan internet programcılığı dersine yardımcı olması için tasarlanmıştır. İletişim için iletisim@phpdefteri.com
Apache PHP MySQL PhpMyAdmin EasyPHP Xampp AppServ Wamp W3School

www.phpdefteri.com © 2010