Mysql Klası Kullanılarak Yapılan Öğrenci Kayıt Uygulaması
Mysql bağlantısı ve veri tabanından istenen sonuçların yazdırılmasında klas mantığı kullanılmıştır.
__mysql.php
<?php
class __mysql{
private $host = "localhost";
private $user = "root";
private $pwd = "1";
public $Baglanti;
function __construct(){ //__mysql klasi olusturulunca otomatik çalisan fonksiyon
try{ //Exception
$this->Baglanti = @mysql_connect($this->host, $this->user, $this->pwd);
if($this->Baglanti){ //Baglanti false degilse
echo "MySQL baglantisi yapildi <hr />";
$db_selected = mysql_select_db('ogrenci', $this->Baglanti);
}else{
//tryla denenen olay false olursa hata mesajini yakala
throw new Exception('MySQL baglanti acma hatasi[ '.mysql_error()." ]");
}
}
catch(Exception $e){ // Yakalanan Hata
echo $e->getMessage(); // Yakalanan hata mesajini yazidr.
}
}
function __destruct(){ // __mysql klasi yok edilince calisan fonksiyon
try { //Dene
if($this->Baglanti){
mysql_close($this->Baglanti);
echo "<hr />MySQL baglantisi kapatildi";
}else{
throw new Exception('MySQL baglanti kapama hatasi.Baglanti hic acilmamis');
}
}
catch(Exception $e)
{
echo $e->getMessage();
}
}
function VeriTabaniListesi(){
$VeriTabanlariListesi = mysql_list_dbs($this->Baglanti);
$VeriTabaniSayisi = mysql_num_rows($VeriTabanlariListesi);
for($i=0; $i < $VeriTabaniSayisi; $i++) {
$VT[]=mysql_db_name($VeriTabanlariListesi, $i);
}
return $VT;
}
function SQL($Sorgu){
return mysql_query($Sorgu);
}
function TabloBas($Sonuc){
$html ="<table border=1><tr>";
for($i=0;$i<mysql_num_fields($Sonuc);$i++)
{
$html.="<td>".mysql_field_name($Sonuc,$i)."</td>";
}
$html.="</tr>";
while($Oku = mysql_fetch_array($Sonuc)){
$html.="<tr>";
for($i=0;$i<mysql_num_fields($Sonuc);$i++){
$html.="<td>".$Oku[$i]."</td>";
}
$html.="</tr>";
}
$html.="</table>";
echo $html;
}
}
?>
kayit.php
<?php
function __autoload($C){
require_once("./$C.php");
}
if(!empty($_POST['no']) && !empty($_POST['ad']))
{
$mysqlObj = new __mysql();
$No = $_POST['no'];
$Ad = $_POST['ad'];
$Bolum = $_POST['bolum'];
$Not_1 = $_POST['not_1'];
$Not_2 = $_POST['not_2'];
$Not_3 = $_POST['not_3'];
$Ekle = "insert into ogrenciler values($No,'$Ad','$Bolum',$Not_1,$Not_2,$Not_3);";
if($mysqlObj->SQL($Ekle))
{
echo "<center>Kayit eklendi<br>Kayit eklemeye devam etmek için buraya <a href='./kayit.php'>tıklayın</a><br>Listeleme ekranına gitmek için buraya <a href='./listele.php'>tıklayın</a>";
}
}else{
<form method="post">
<table>
<tr><td>Öğrenci No</td><td>:<input type="text" name="no" /></td></tr>
<tr><td>Adı</td><td>:<input type="text" name="ad" /></td></tr>
<tr><td>Bölümü</td><td>:<input type="text" name="bolum" /></td></tr>
<tr><td valign="top">Notlar</td><td><table><tr><td>Not 1</td><td>:<input type="text" name="not_1" /></td></tr>
<tr><td>Not 2</td><td>:<input type="text" name="not_2" /></td></tr>
<tr><td>Not 3</td><td>:<input type="text" name="not_3" /></td></tr></table></td></tr>
<tr><td colspan="2"><input type="submit" value="Kaydet" /></td></tr></table>
</form>
<?
php
}
?>
listele.php
<?php
function __autoload($C){
require_once("./$C.php");
}
if($_POST)
{
//select round((not1+not2+not3)/3) as ort from ogrenciler group by no
$mysqlObj = new __mysql();
//if(!empty($_POST['ara_ad']))
$Sec = "select *,round((not1+not2+not3)/3) as Ortalama from ogrenciler where adi like '%".$_POST['ara_ad']."%' and bolumu like '%".$_POST['ara_bolum']."%'";
if(!empty($_POST['ara_not'])) $Sec.=" and round((not1+not2+not3)/3)=".$_POST['ara_not'];
if($_POST['adCheck']=="on") $Sec.=" order by adi";
if($_POST['bolumCheck']=="on"){
if($_POST['adCheck']=="on") $Sec.=",bolumu";
else $Sec.=" order by bolumu";
}
if($_POST['ortCheck']=="on"){
if($_POST['adCheck']=="on" || $_POST['bolumCheck']=="on") $Sec.=",round((not1+not2+not3)/3)";
else $Sec.=" order by round((not1+not2+not3)/3)";
}
//echo $Sec;
$mysqlObj->TabloBas($mysqlObj->SQL($Sec));
echo "<center>Kayit eklemeye gitmek için buraya <a href='./kayit.php'>tıklayın</a><br>Listeleme detaylarını değiştirmek i.çin buraya <a href='./listele.php'>tıklayın</a>";
}else{
<form method="post">
<table width="369">
<tr>
<td width="161">Listeleme ölçütleri</td>
<td width="196"><p>
<input type="checkbox" name="adCheck" id="checkbox">
Öğrenci adına göre<br>
<input type="checkbox" name="ortCheck" id="checkbox3">
Ortalamasına göre<br>
<input type="checkbox" name="bolumCheck" id="checkbox2">
Bölümüne göre</p> </td>
</tr>
<tr>
<td>Kişi adına göre ara</td><td><input type="text" name="ara_ad" /></td>
</tr>
<tr>
<td>Bölümüne göre ara</td><td><input type="text" name="ara_bolum" /></td>
</tr>
<tr>
<td valign="top">Nota göre ara </td>
<td><input type="text" name="ara_not" /></td></tr>
<tr><td colspan="2"><input type="submit" value="Ara veya Listele" /></td></tr></table>
</form>
<?php
}
?>
Yorumunuzu Ekleyin