Mysql In Kullanımı

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    solstice
    solstice's avatar
    Kayıt Tarihi: 04/Nisan/2008
    Erkek

    Merhaba hocalar,

    blog table ımın içinde her bir makalade çoklu kategori işlemi var.

    Yani bir makale yönetim panelinde eklenirken birden fazla kategori seçilebiliyor.  ben bu kategorilerin id lerini 1,3,5,7 diye blog table ında kategoriID kolonumda tutuyorum. Yani kategoriID Kolonum daki veriler genelde 1,3,5,7 Şeklinde kategorileri idleri var.

    Ben örnek bir kategoriye tıklayıp id yi aldıktan sonra aşağıdaki yöntem ile kategori id yi bulup listeleyebilirmiyim ?

    $blogkategori     = 3;

    $query = mysql_query("SELECT * FROM blog WHERE kategoriID IN ('$blogkategori')");

    bu şekilde yazdığımda sonuç 0 dönüyor.

    Halbuki kategoriID kolonunda 1,3,5 değerleri var.

    Bunun başka bir yöntemi varmı yada bunu nasıl çözerim


    https://www.youtube.com/watch?v=k6LrGZGqYn8
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ccaglayan
    Ccaglayan's avatar
    Kayıt Tarihi: 23/Kasım/2011
    Erkek

    burda veritabanı yapılandırmasında hata yapmışsın şu şekilde hazırlamalısın

    Blog Tablosu

    Kategori Tablosu

    Relation Tablosu

     relation tablonda şu şekilde olucak BlogID, KategoriID şeklinde misal 1 IDli blogunun 3 kategorisi var bunlarda 3, 4 ve 2 şu şekilde kayıt ediceksin

    BlogID | KategoriID

    1          | 3

    1          | 4

    1          | 2

    umarım anlatabilmişimdir yoksa virgül ile ayırıp yazman çok sakat bir iş aramalarda sorun yaşarsın.

    Ccaglayan tarafından 15/May/15 11:50 tarihinde düzenlenmiştir
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Austen
    Austen's avatar
    Kayıt Tarihi: 13/Ağustos/2012
    Erkek

    // edit: olayı yanlış anlamışım, mesaja lüzum yok. Üstteki arkadaşın dediği gibi yapılandırmayı yeniden yapmakta fayda var.

    Austen tarafından 15/May/15 11:54 tarihinde düzenlenmiştir
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    solstice
    solstice's avatar
    Kayıt Tarihi: 04/Nisan/2008
    Erkek
    Ccaglayan bunu yazdı

    burda veritabanı yapılandırmasında hata yapmışsın şu şekilde hazırlamalısın

    Blog Tablosu

    Kategori Tablosu

    Relation Tablosu

     relation tablonda şu şekilde olucak BlogID, KategoriID şeklinde misal 1 IDli blogunun 3 kategorisi var bunlarda 3, 4 ve 2 şu şekilde kayıt ediceksin

    BlogID | KategoriID

    1          | 3

    1          | 4

    1          | 2

    umarım anlatabilmişimdir yoksa virgül ile ayırıp yazman çok sakat bir iş aramalarda sorun yaşarsın.

    Hocam dediğin tamam. olmazsa onu yapcam. Ama ben bu şekilde yapamammı

    BlogID | KategoriID

    1          | 3,5,7

    2          | 4,3,2

    3          | 2,1

    Ben şimdi burdan kategoriid si 3 olan değeri aldığımda 1 ve 2 id li makaleleri listeyememmi

    kategoriid = 3

    SELECT *  FROM blog WHERE kategoriid  IN (KategoriID);  

     

     

     


    https://www.youtube.com/watch?v=k6LrGZGqYn8
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ccaglayan
    Ccaglayan's avatar
    Kayıt Tarihi: 23/Kasım/2011
    Erkek

    zor bir şekilde listelersin misal 3 diye LIKE ile aratırsın 33 üde getirir sana 30 uda o yüzden virgül kullanımı çok yanlış bir yapıdır multiple alanlarda relation yapısı kullanılmalıdır. Yoksa ilerde problemlerle karşılaşırsın.

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Cosmic
    Cosmic's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    istediğin şey düzgün bir kullanıl şekli değil. ama illa böyle istiyorum dersen 1,3,5 şeklinde değilde             ,1,3,5,       şeklinde kayıt ettirirsin daha sonra ,3,      şeklinde aramanı yaparsın. böylelikle 33 olduğu zaman 3 ü arattığında hepsini göstermez sadece 3 ü gösterir


    Bittik biz bittik
Toplam Hit: 897 Toplam Mesaj: 6