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