lostyazilim
tr.link

MYSQL İki Tabloyu İlişkilendirme

4 Mesajlar 2.394 Okunma
lstbozum
tr.link

delacrox delacrox WM Aracı Kullanıcı
  • Üyelik 28.02.2015
  • Yaş/Cinsiyet 31 / E
  • Meslek webmaster
  • Konum Adana
  • Ad Soyad M** A**
  • Mesajlar 5
  • Beğeniler 0 / 1
  • Ticaret 0, (%0)
Merhaba Arkadaşlar
il ve ilçe adında 2 tane tablom var.

CREATE TABLE `il` (
`id` bigint(20) NOT NULL,
`il_adi` varchar(50) CHARACTER SET utf8 COLLATE utf8_turkish_ci DEFAULT NULL,
`seo` varchar(50) CHARACTER SET utf8 COLLATE utf8_turkish_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


CREATE TABLE `ilce` (
`id` bigint(20) NOT NULL,
`il_id` bigint(20) DEFAULT NULL,
`ilce_adi` varchar(50) CHARACTER SET utf8 COLLATE utf8_turkish_ci DEFAULT NULL,
`seo` varchar(50) CHARACTER SET utf8 COLLATE utf8_turkish_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


Örneğin Ankara iline tıklandığında ilçe tablosundaki il_id si 6 olan verileri listelemek istiyorum.
Yani sorgu ankaraya tıkladığımı anlayıp ankaranın ilçelerini listelesin istiyorum.

$id = $_GET["id"];
$bul = mysql_query("select * FROM ilce where il_id='$_GET[id]'");
while($goster = mysql_fetch_array($bul)){
echo "
  • » {$goster["ilce_adi"]}

  • ";
    }
    ?>


    Bu şekilde sonuç alamıyorum.
    Inner Join ile nasıl yapacağımı yazarsanız sevinirim.
    Teşekkürler
     

     

    wmaraci
    reklam

    delacrox delacrox WM Aracı Kullanıcı
    • Üyelik 28.02.2015
    • Yaş/Cinsiyet 31 / E
    • Meslek webmaster
    • Konum Adana
    • Ad Soyad M** A**
    • Mesajlar 5
    • Beğeniler 0 / 1
    • Ticaret 0, (%0)
    $id = $_GET["id"];
    $bul = mysql_query("SELECT * FROM ilce INNER JOIN il ON il.id = ilce.il_id WHERE il_id = $id");
    while($goster = mysql_fetch_array($bul)){
    echo "
  • » {$goster["ilce_adi"]}

  • ";
    }
    echo mysql_error();
    ?>


    inner join ile yaptığımda ise hata yazdırıyorum.
    Örneğin ankaraya girdiğimde şöyle bir hata alıyorum.

    Unknown column 'ankara' in 'where clause'

    kodlarda yanlış olan kısım nedir ?
     

     

    blizzard3 blizzard3 Üyeliği Durdurulmuş Banlı Kullanıcı
    • Üyelik 19.07.2017
    • Yaş/Cinsiyet 24 / E
    • Meslek Youtube
    • Konum İstanbul Anadolu
    • Ad Soyad M** N**
    • Mesajlar 12
    • Beğeniler 1 / 3
    • Ticaret 0, (%0)
    il ve ilce adında bir tablon var dedin ilişkilendirme olabilmise için oncelikle 2 tablodan birinde ilişklendirmek için int degerinde bir stun olması lazım ornegin ilçe tablolsunda il_id diye bir sutun il_id stununu il tablosunda birincil anahtar yaptıgın degerle birlestiriceksin sonuc su sekilde olucaktır

    $v = $db->prepare("select * from ilceler inner join iller on iller.ild_id= ilceler.il_id where il_onay=1");

    daha detaylı bir anlatımı bu videodan bulabilirsin ayrıca videonun acıkla kısmında kullanılan kodlar mevcuttur...

    https://www.youtube.com/watch?v=UaEtXpf9NO8
     

     

    delacrox delacrox WM Aracı Kullanıcı
    • Üyelik 28.02.2015
    • Yaş/Cinsiyet 31 / E
    • Meslek webmaster
    • Konum Adana
    • Ad Soyad M** A**
    • Mesajlar 5
    • Beğeniler 0 / 1
    • Ticaret 0, (%0)
    Arkadaşlar çözümü farklı bir forum sitesinde buldum.
    $id = $_GET["id"];
    $bul = mysql_query("SELECT * FROM ilce INNER JOIN il ON il.id = ilce.il_id where il.seo = '$id'");
    while($goster = mysql_fetch_array($bul)){
    echo "
  • » {$goster["ilce_adi"]}

  • ";
    }
    echo mysql_error();
    ?>

    blizzard3 Teşekkür ederim ilgin için.
    HelloWorld01

    kişi bu mesajı beğendi.

    wmaraci
    wmaraci
    wmaraci
    Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
    Site Ayarları
    • Tema Seçeneği
    • Site Sesleri
    • Bildirimler
    • Özel Mesaj Al