Etiket arşivi: mysql

Php ile mysql select nasıl yapılır

php mysql select

Php ile mysql veritabanındaki değerler nasıl çeklilir (select yapmak)?

Php’de mysql veritabanındaki değerleri ekrana yazdırmak yani select yapmak için örnek bir kullanım göstereceğim, önce veritabanı bağlantısı kurmanız gerekiyor, bunu başka bir yazıda anlatmıştım o yüzden tekrar anlatmayacağım.


<?php

$limit = "15";
$sql = mysql_query("SELECT * FROM mesajlar ORDER BY id DESC LIMIT $limit");
while ($mesajlar = mysql_fetch_array($sql)) {
$kayit = $mesajlar['kayit'];

echo $kayit  .  '<br />';

}

?>

Şimdi burada ne yaptık? Aslında bir değil birkaç işlemi birden yaptık, yararlı olabileceğini düşündüğüm özellikleri bu kodlara ekledim ki tek tek arayıp uğraşmayın.

İlk önce mesajlar ismindeki tablodaki verileri çekiyoruz, tabi bütün verileri karmaşık bir sırayla değil, id isimli sütuna göre sonran başlayarak sırayla çekiyoruz, bunu da DESC ile belirttik, sql sorgusunun içerisinde görebilirsiniz, DESC yerine ASC yazsaydık sondan değil de ilk baştan başlayarak okuyacaktı.

Tabi verileri çekerken bulduğu bütün verileri değil de belli bir limitle çekmesini de söyledik, bunu da LIMIT sorgusunun peşine $limit değişkeni koyarak yaptık. Kodların ilk başındaki gibi $limit ismindeki değişkeni sql sorgusunun içine ekleyerek sayfada kaç sonuç listeleneceğini belirttik.

Bu sorguda her bir kayıt için tek tek işlem yapabiliriz veya genel olarak da işlem yapabiliriz. Tek tek işlem yapmak için while döngüsünün içerisine kodlarımızı eklememiz gerekiyor. Genel olarak bütün sorgulara işlem yapmak için de en başa ve en sona yapacağımız işlemleri ekleyebiliriz.

İşlemden kastım şudur, mesala tek tek bütün sorgulara farklı css class’ı atamak istiyorsunuz veya farklı şekilde filtreden geçirmek istiyorsunuz, bunu while döngüsünün içerisinde yaparsınız, oysa ki bütün sorgulara ortak bir filtre işelmi veya herhangi bir css işlemi yapmak isterseniz bunu direk olarak kodların en başına ve en sonuna ekleyebilirsiniz.

ekrana yazdırma kısmına gelince echo fonksiyonuyla, sorgu başına $kayit değişkenini yani kayit isimli tabloda bulunan veriyi, peşine de her sorgu için bir alt satıra geçmesini istediğimizden html’deki br tagını ekledik.

Bu kodla veritabanındaki bilgilerinizi ekrana yazdırabilirsiniz, kendinize göre değiştirebilirsiniz ve tabiki anlamadığınız yer olursa konuya yorum atarak sorabilirsiniz.

Php mysql delete (silme) işlemi

php mysql delete

Php ile mysql veritabanında nasıl delete yapılır (değer silinir)?

Php’de mysql_query fonksiyonunu kullanarak mysql veritabanından değer silebiliriz( delete yapabiliriz) , örnek kullanım şu şekilde:


<?php

mysql_query("DELETE FROM mesaj WHERE id='$sil'");

?>

Bu örnekte silinmek istenen veritabanında(mesaj), id isimli bir tablo olması gerekiyor, bu tabloyu da $sil değişkeni ile belirtiyoruz, get veya post metoduyla hangi mesajın silineceğini $sil değişkenine aktarabiliriz. Bu işlemleri yapmadan önce veritabanı bağlantısı kurulması gerekiyor.

Php ile veritabanı bağlantısı kurmak

php-session

db_host, db_username, db_password, db_name değişkenlerine veritabanı hostunuzu(genelde localhost olur), kullanıcı adınızı, şifrenizi ve kullanacağınız veritabanının adını yazın, bu kod parçasını veritabanı kullanacağınız sayfanın başına ekleyebilir, veya bundan bir tane oluşturup bütün sayfalara include edebilirsiniz. Php oop bilen arkadaşlar veritabanı class’ı oluşturup içine bağlan adında bir fonksiyon atayabilirler, en doğru yöntem budur fakat bu biraz daha orta seviyede bilgili programcılar içindir.

<?php

$db_host = "localhost";
$db_username = "kullanici";
$db_password = "sifre";
$db_name = "veritabaniadi";

$baglan = mysql_connect("$db_host", "$db_username", "$db_password") or die("baglanamadi.");
mysql_select_db("$db_name") or die("Veritabani secilemiyor!");

//Bu kısmı bağlantıyı test etmek için kullanabilirsiniz.
if ($baglan) {
    echo 'Veritabanı bağlantısı başarılı <br />';
} else {
    echo 'Veritabanı bağlantısında sorun var!';
}

?>