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
?>






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
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
)
Sorma Murat kerdeş sitelerde kodları denemek için kopyala yapıştır yapıyom sonra bu tırnaklar öldürüyor bizi yaa