3.9/5 Görüntülenme: 8281

Mysql ilişkili Tablolar

 İlişkili tablolar

JOIN Kullanmadan tablo ilişkilendirme

 $Sql="SELECT * FROM urunler u, iliskiler i WHERE u.id=i.uid AND i.kid='1' ";

  $q=mysql_query($Sql) or die(mysql_error());
  while($rs=mysql_fetch_array($q))
   {echo $rs["urun"];}

meyveleri listele // Elma Kivi Muz

Burada urunler u olsun iliskiler i, urunler id eşit olmalı iliskiler uid(ürünid) baktığımızda hepsi eşit AND (vede) iliskiler kid(kategoriid) eşit olmalı 1'e şeklinde bir sorgu ile çalışır.

ilişkili tablo Çalışma mantığı

Aslında bu örnekte tabloları birbirine ilişkilendirmedik sadece listeleme sırasında iki sorguyu aynı anda yaptık.

Bunu nasıl kullanabiliriz bir SelectBox yaparız db den aldığımız  kategorileri yazdırırız option value="1">Meyve< şeklinde Meyve seçilince Db ye 1 sorgusu gider 1 kategorisi listelenmiş olur.

 

 Kategori bölümü seçimli olacağı durumlarda ayrı tabloda hazırlanır aksinde ilişkiye gerek kalmadan Elma'nın karşısında Meyve de yazdırılarak yapılabilir.

Bu şekilde 3 lüde kullanılabilir araya firma karşılaştırmalarınıda ekleyebilirsiniz.

Son olarak DB ilişkilendirmeyi ilk defa gören arkadaşlar bu ilişkilendirme Php Myadmin'den de yapılabiliyor INNER, LEFT, RIGHT JOIN gibi diğer fornksiyonlarlada kullanılabilmekte. Benim gösterdiğim şekilde normal listelemenize ek olarak 2 döngü iç içe kullanmamak için bu şekilde tek satırda ilişkili listeleme yapabilirsiniz.

 

Aynı şekilde Mysql ilişikili tablolardan veri silme yani 2 ayrı tablodaki veriyi aynı anda silmek için şu sayfayı ziyaret edebilirsiniz. http://www.limitsizbilgi.com/mysql-iki-tablodan-veri-silmek.html


Konu (123) ile ilgili admin @ limitsizbilgi.com adresine E-mail gönderebilirsiniz. İsa Şahintürk