Bilgisaray.Net

Php,Css,Jquery

php ile mysql veritabanından veri çekme ve update işlemi

Yollayan A.Gökhan Akın Mart - 10 - 2010

Daha önce kendi sitemde de anlatmış olduğum php ile mysql veritabanından veri çekme ve update işlemini bide burda oldukça basit şekliyle yer vermek istedim. zira ne kadar ulaşılabilir kaynak olursa işimiz o kadar kolaylaşacaktır..gerekli açıklamalar kodların yanına yine yazıldı..Eğer herhangi bir hatamız olduysa affola (bunu kendi sitemde de söylemiştim :) ) ve anlaşılmayan bir bölüm olursa sorularınızı iletirseniz anında cevap vermeye çalışacağım..
Öncelikle veritabanımızı oluşturalım..


CREATE TABLE IF NOT EXISTS `deneme` (
`id` tinyint(20) NOT NULL auto_increment,
`kategori` varchar(50) NOT NULL,
`aciklama` text NOT NULL,
PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

INSERT INTO `deneme` (`id`, `kategori`, aciklama`) VALUES
(1, ''1'', ''deneme''),
(2, ''2'', ''deneme'');

Tablolarımızı yukarıdaki gibi oluşturduktan sonra öncekille veritabanına bsağlanma fonksiyonumuzu oluşturup gerekli alanları dolduruyoruz.ve sırasıyla önce verileri çekip sonrada update işlemlerine geçiyoruz..


<?
// php ile mysql veritabanınında veri çekme ve update işlemleri
// ben burdaki dosyayı xxx.php olarak adlandırdım siz verceğiniz adı kendiniz belirleyebilirsiniz
// div,fieldset vb kullanımlara atanmış class karşılıklarını stil dosyasına kendiniz yazmalısınız

function dbbaglan()
{
define('HOST', 'localhost'); // hostunuz genenmde localhosttur
define('USER', 'root'); // db kullanıcı adi
define('PASS', 'asdf'); // şifre
define('NAME', 'deneme'); // db adı
$connect = @mysql_connect(HOST,USER,PASS) or die ("veritabanına bağlanılamıyor");
mysql_select_db(NAME,$connect);
}
dbbaglan(); // veritabınan bağlanma fonksiyonumuzu başlatıyoruz
switch ($_GET['islem']) { // işlem fonksiyonunu kapsama alanı
//işlemlerimizi burdan itibaren başlatacagız
case'cek': // veri çekme işlemimizi başlatıyoruz bursanı link olarak çağırırsak xxxx.php?islem=cek oalarak çağırılacaktır
$sorgu=mysql_query("SELECT * FROM deneme order by id");// veritanındaki alanımızdan veriyi sorguluyaroıuz burda deneme tablosundan id ye göre verileri al dedik
while($dbal=mysql_fetch_array($sorgu)){ // verimizi while döngüsüne sokarak tüm verileri çekmeyi sağladık
echo '<span style="color: #000000;">'.$dbal[aciklama].' </span><span style="color: #00ffff;">'.$dbal[kategori].'</span>
<a href="a.php?islem=update&id='.$dbal[id].'">DÜZENLE</a><br>'; //verileri ekrana bastırdık ve update icin link verdik
}
break; // veriçekme işlemizizi bitirdik
case'update': // update işlemimize başlıyoruz
if(isset($_POST['Yolla'])) // eğer $_POST[''Yolla''] şeklinde formdan bir değer geliyorsa işlemimizi başlıtıyoruz
{
//ve formadan gelene verileri iki $kat ve $acikla değişkenlerine tanımlıyoruz
$katal= $_POST['kat']; //strip_tags fonksiyonu ile  formdan gelen   gelen html kodarı temizliyoruz  güvenliğimiz için
$aciklama= strip_tags($_POST['aciklama']);
$id= intval($_POST['id']);// $_POST yÖntemi ile update edeceğimiz alanın id sini alıyoruz
if(empty($katal)) // eğer kat değişkeni boşsa
{
$hata = '<div>Lütfen Kategori alanını boş bırakmayınız</div>
';// kategori alanınıın boş olması durumunda uyarıyoruz
}
else if(empty($aciklama)) // eğer açıkla değişekeni boşsa
{
$hata = '<div>Lütfen açiklama alanını boş bırakmayınız</div>
'; // açıklama alanınıın boş olması durumunda uyarıyoruz
}
//Eğer HATA değişkenimiz boş dönüyorsa  veritabanını update ediyoruz
if($hata == '')
{
$tablo = @mysql_query("update deneme set kategori=$katal,aciklama=$aciklama where id=$id")
or die ('<div style="text-align: center;">Sebep '. mysql_error().' HATALI BİR İŞLEM VAR</div>
');

//UYARI MESAJİ  İŞLEMİMİZ BAŞARILI İSE
echo'<p>DÜZENLEME İŞLEMİ BAŞARI İLE YAPILDI...</p>';
//UYARI MESAJİ BİTİŞ
}
}
if(!isset($_POST['Yolla']) || $hata != '') // $_post değişkenimiz yoksa ve hata değişkenimiz boş değilse  uyarı veridirip tekrar forma dünüş sağlıyoruz
{
echo'

<h1>UPDATE FORMU</h1>
';
echo''.$hata.''; // hata değişkenimiz boş değilse bu kısımda uyarı verip boş alanların doldurulmasını sağlıyoruz
echo'
<div id="elem">
<fieldset>';
$query = "SELECT * FROM deneme WHERE id=".$_GET[id].""; // $_GET metodu ile  tarayıcımızdan gelen id değerini veritabanında karşılaştırıp verimizi update edeceğiz
$qry = @mysql_query($query) or die ("Bir hata oluştu");
$row = mysql_fetch_array ($qry);
echo'
<form id="contFrm" action="a.php?islem=update" method="post">'; // action adresini verdik
echo'<label><span> </span> KATEGORİ:</label>
<input name="kat" type="text" value="'.$row[acikalama].'" />
<label> AÇIKLAMA:</label>
<input name="aciklama" type="text" value="'.$row[kategori].'" />
<input name="id" type="hidden" value="'.$row[id].'" />';// aldığımız id değerini hidden ile post edeceğizki verimiz bu id ye göre update edilebilsin
echo'<input id="Yolla" name="Yolla" type="submit" />
</form></fieldset>
</div>
';
}
default; // son case mizide sonlandırdık
} // $_GET fonksiyonumuzu sonlandırdık
?>
      

3 Yorum “php ile mysql veritabanından veri çekme ve update işlemi”

  1. Saryon diyor ki:

    Parse error: parse error, expecting `’,” or `’;” in C:\wamp\www\proje\kategorim.php on line 21

    Bunun gibi hatalar veriyor sorun nerde sizce ?Acaba sitenize zipli dosya olarak ekleyebilirmisiniz??

    Teşekkürler :)

  2. Murat Yılmaz diyor ki:

    Aldığın hataların sebebi kullandığımız kod penceresi eklentisinden kaynaklanıyor.(`)aolan ayırma işaretlerini (‘) ile değiştirirsen sorun kalmaz.Eklentinin genel problemi ne yazıkki :) )

  3. Saryon diyor ki:

    Sorma Murat kerdeş sitelerde kodları denemek için kopyala yapıştır yapıyom sonra bu tırnaklar öldürüyor bizi yaa :)

Yorum Yapın