• 05-02-2016, 19:03:06
    #1
    Merhaba Arkadaşlar

    Şimdi Şöyle Bir Tablomuz Var

    id || adi || kayittarihi ||
    1 üye 2016-02-06
    2 üye2 2016-02-04

    birde şöyle bir tablomuz var

    id || ozellik id || özellik degeri || uyeid
    1 5 3 1
    2 6 4 1
    3 7 5 1
    4 5 2 2


    Burda yazmadığım tabi birde özellik ve değerler tablosu var ama şöyle düşünebilirsiniz : 1 numaralı üyenin 5 numralı özelliki (şehri) 3 (Ankara),1 numaralı üyenin 6 numaralı özelliği (ilçesi) 4 (çankaya) gibi

    Şimdi bunu ekrana basarken hiçbir sorun yaşamıyoruz fakat yapmamız gereken tersine yani detaylı arama gibi

    İli Ankara ve İlçesi Çankaya Olanları getir gibi..
    Ancak as ve join kullanımında çok iyi değilim bunu nasıl yapabilirim ?
  • 06-02-2016, 17:04:07
    #2
    ilk tabloya tablo1, ikincisine tablo2 diyelim,
    $sql = "SELECT uyeid FROM tablo2 WHERE ozellik_id = 5 AND ozellik_degeri = 3";
    foreach($baglanti->query($sql) as $sorgu) {
     $uye_id = $sorgu['uyeid'];
     $sql2 = "SELECT * FROM tablo2 WHERE ozellik_id = 6 AND ozellik_degeri = 4 AND uyeid = $uye_id";
     foreach($baglanti->query($sql2) as $veriler){
      $uyeidal = $veriler['uyeid'];
      $sql3 = "SELECT * FROM tablo1 WHERE id = $uyeidal";
      foreach($baglanti->query($sql3) as $uye){
       $uyeadi = $uye['adi'];
       $uyekayit = $uye['kayit_tarihi'];
      }
     }
    }
    basit pdo örneği bu, foreach içiçe bu kadar çalışmayabilir belki, mantığı anladıysanız olay tamamdır.