LZ3G – Webmaster Blog! php, Mysql, JQuery, Java, Wordpress

Php ile Veritabanı İşlemleri – Select

Veritabanından bir tabloyu seçmek ve sorgu göndermek için Select komutu kullanılır.

Kullanım Şekli

SELECT kolon_adı FROM tablo_adı

<?php
$baglanti = mysql_connect("localhost","root","1234");
if (!$baglanti)
  {
  die("MySQL bağlantısı sağlanamadı");
  }
 
mysql_select_db("veritabani", $baglanti);
 
$sql = mysql_query("SELECT * FROM tablomuz");
 
while($dondur = mysql_fetch_array($sql))
  {
  echo $dondur['ad'] . " " . $dondur['soyad'];
  echo "<br />";
  }
 
mysql_close($baglanti);
?>

Üstteki kodları test ettiğinizde, veritabanında ilgili tablodaki ad ve soyad alanlarında kayıtlı tüm veriler alt alta ekrana yazdırılacaktır.
Yine bu ifadeyi kullanarak bir arama işlemi yapacağız. Aslında arama işleminden kasıt istediğimiz kriterlere uygun kayıtları listelemek. Zaten listeleme işleminden bahsetmiştik.

örnek 2

Örnek bir tablo oluşturalım ve adı “ogrenciler” olsun.

id ad_soyad okul_no yas cinsiyet
1 Zeynep Çimen 125 15 Bayan
2 Emrah Yalaz 127 16 Erkek
3 Ahmet Topuz 128 15 Erkek
4 Elif Duman 130 16 Bayan
5 Hasan Durmaz 132 17 Erkek

Bu tabloyu referans alarak birkaç sorgu oluşturalım.

SELECT * from ogrenciler
WHERE cinsiyet='Bayan'

WHERE ifadesi ile cinsiyeti “Bayan” olan öğrencilerin seçileceğini söyledik. Bu sorgudan 2 sonuç çıkar.

id ad_soyad okul_no yas cinsiyet
1 Zeynep Çimen 125 15 Bayan
4 Elif Duman 130 16 Bayan

Bu örneği daha önce de yapmıştık, tekrar yapmamdaki maksat üzerine küçük bir eklenti yapacak olmamız. Eklentimiz “LIKE” kelimesidir. Bu kelime ile aranan ifade sizin arama yaptığınız alanda bir şekilde geçiyorsa bu sonuçları alabilirsiniz.

SELECT * FROM ogrenciler
WHERE ad_soyad LIKE 'Zeynep Çimen'

id ad_soyad okul_no yas cinsiyet
1 Zeynep Çimen 125 15 Bayan
Görüldüğü gibi “Zeynep Çimen” ifadesinin bulunduğu kaydı seçmiş olduk. Fakat pek te kullanışlı gibi durmuyor değil mi? “LIKE” kelimesini “%” özel karakteri ile kullanınca biraz daha anlamlı olur.

SELECT * FROM ogrenciler
WHERE ad_soyad LIKE '%ma%'

id ad_soyad okul_no yas cinsiyet
4 Elif Duman 130 16 Bayan
5 Hasan Durmaz 132 17 Erkek

ad_soyad alanında “ma” ifadesi geçen kayıtları aramış olduk. “%” sembolü önüne gelirse öncesi önemli değil, sonuna gelirse sonrası önemli değil demiş oluyorsunuz. Yani “ma” ifadesini gördüğün an bul getir demiş oluyoruz.

“%tar” : Başlangıcı önemli değil bitişi “tar” olan kelimeler.(anahtar,gitar,avatar…)
“tar%” : Başlangıcı “tar” olan kelimeler.(tarih,tarla,tarçın,tarkan…)
“%tar%” : Başlangıç ve bitişi önemli değil içerisinde “tar” geçen kelimeler.