• 29-04-2014, 18:32:44
    #1
    Merhabalar

    Elimde 3 tablo var.

    öğrenci - işletme - öğretmen.

    hepsi birbirine mesaj gönderebilecek fakat bir türlü işin içinden çıkamadım. nasıl bir yol izlemeliyim onu çözemedim. algoritmasını bir türlü anlayamadım.

    örneğin ben bunu yapabildim.

    ogretmen_mesaj
    mesaj_id
    gelen_id
    giden_id
    ogr_id
    ogretmen_id
    baslik
    giden_metin
    gelen_metin
    okundu
    tarih
    mesela bu tablo sadece ogretmene ait bir tablo. bu tabloda ogretmenin öğrenciye gönderdiği mesajlar veya öğrencinin gönderdiği mesajlar görüntüleniyor. şimdi ben bunu tek tek yapmaya kalkarsam 6 tablo ortaya çıkıyor.

    öğretmen öğrenci tablosu
    öğretmen işletme tablosu
    işletme öğrenci
    işletme öğretmen
    öğrenci işletme
    öğrenci öğretmen

    çok mantıksız oluyor. desteğinizi bekliyor olucam. destek olan arkadaşlara +r10 puan + like verilecektir.

    iyi günler
  • 29-04-2014, 19:46:16
    #2
    İncelemenizi tavsiye ederim.
    Bu size ön fikir olabilir.
    http://www.9lessons.info/2013/05/mes...se-design.html
  • 29-04-2014, 19:49:05
    #3
    Üyeliği durduruldu
    1 tane ek mesaj tablosu yaparak gonderen ve alıcıların id lerini işlemen işini görür mü. tam olarak yazdıklarını anlayamadım ama sanırım böyle birşey istiyorsun
  • 29-04-2014, 20:19:48
    #4
    samsunikinciel adlı üyeden alıntı: mesajı görüntüle
    İncelemenizi tavsiye ederim.
    Bu size ön fikir olabilir.
    http://www.9lessons.info/2013/05/mes...se-design.html
    bu tek users tablosu üzerinden yürüyor sıkıntı orda.

    gallisene adlı üyeden alıntı: mesajı görüntüle
    1 tane ek mesaj tablosu yaparak gonderen ve alıcıların id lerini işlemen işini görür mü. tam olarak yazdıklarını anlayamadım ama sanırım böyle birşey istiyorsun
    ama alıcı id ve gönderen id farklı tablolarda. 3 tablodan ayrı ayrı kişiler birbirlerine özel mesaj yollamalarını istiyorum fakat algoritma kısmını geçemedim. sorun bu.
  • 29-04-2014, 20:27:23
    #5
    Üyeliği durduruldu
    fasb adlı üyeden alıntı: mesajı görüntüle
    b
    ama alıcı id ve gönderen id farklı tablolarda.
    2 ayrı tabloda aynı id'yi taşıyan kişiler denk geliyor sanırım. bir öğrencinin ve öğretmenin id'si 5 oluyor gibi bir durum.
    eğer böyleyse tablolara eksta bir sütun açarak hepsine mesajlaşmada kullanacakları ayrı bir id verebilirsin.
    Tabi çakışma olmaması için bu yeni id'leri guid veri tipiyle tanımlayabilirsin.
    ya da henüz tabloların boşsa id alanlarının veri tipini guid olarak atayabilirsin.
  • 29-04-2014, 23:31:46
    #6
    Üyeliği durduruldu
    fasb adlı üyeden alıntı: mesajı görüntüle
    Merhabalar

    Elimde 3 tablo var.

    öğrenci - işletme - öğretmen.

    hepsi birbirine mesaj gönderebilecek fakat bir türlü işin içinden çıkamadım. nasıl bir yol izlemeliyim onu çözemedim. algoritmasını bir türlü anlayamadım.

    örneğin ben bunu yapabildim.

    ogretmen_mesaj
    mesaj_id
    gelen_id
    giden_id
    ogr_id
    ogretmen_id
    baslik
    giden_metin
    gelen_metin
    okundu
    tarih
    mesela kbu tablo sadece ogretmene ait bir tablo. bu tabloda ogretmenin öğrenciye gönderdiği mesajlar veya öğrencinin gönderdiği mesajlar görüntüleniyor. şimdi ben bunu tek tek yapmaya kalkarsam 6 tablo ortaya çıkıyor.

    öğretmen öğrenci tablosu
    öğretmen işletme tablosu
    işletme öğrenci
    işletme öğretmen
    öğrenci işletme
    öğrenci öğretmen

    çok mantıksız oluyor. desteğinizi bekliyor olucam. destek olan arkadaşlara +r10 puan + like verilecektir.

    iyi günler
    Kardesim kafani fazla karistirma.
    1 adet pm tablosu olustur. Tablo icine gonderen - alan - okundu - tarih kisimlari ac.

    Gonderme cok basit insert into ile yapilicak bilirsin sen. Almayi da soyle yapicaksin : Select * FROM pm where alan='$giris-yapilmis-kullanici'
  • 29-04-2014, 23:39:41
    #7
    BlackDare adlı üyeden alıntı: mesajı görüntüle
    Kardesim kafani fazla karistirma.
    1 adet pm tablosu olustur. Tablo icine gonderen - alan - okundu - tarih kisimlari ac.

    Gonderme cok basit insert into ile yapilicak bilirsin sen. Almayi da soyle yapicaksin : Select * FROM pm where alan='$giris-yapilmis-kullanici'
    ama şu sıkıntı var alıcı id 5. ama 5 id sine sahip hem öğrenci hem öğretmen hem işletme var nasıl ayırt edicez ki onları ?
  • 30-04-2014, 09:04:56
    #8
    Sadece mesajlar adında bir tablo açın; aşağıdaki yapıyı kullanabilirsiniz.

    mesaj_id 
    gonderen_id  /mesajı gönderen user id
    alici_id   // mesajı alan user id
    gonderen_tipi // 1 : öğretmen; 2 : öğrenci; 3 : işletme (bu tipleri kullanıcıların kendi tablosunda da sütun oluşturarak tutabilirsin)
    alici_tipi // 1 : öğretmen; 2 : öğrenci; 3 : işletme (bu tipleri kullanıcıların kendi tablosunda da sütun oluşturarak tutabilirsin)
    baslik
    mesaj
    okundu
    parent_id // hangi mesaja cevap olarak yazıldıysa onun id'si gelecek
    tarih
    İyi çalışmalar.