• 10-10-2013, 12:35:27
    #1
    Merhabalar öncelikle yapmak istediğim şeyi anlaşılır şekilde anlatmak istiyorum.

    Sistem şöyle; üye iş konusu açar. Firmalar ise bu konuya teklifte bulunurlar. Sohbet konuşması gibi soru-cevap mantığında ilerler bu ve iş konusunu açan üye bir süre sonra konuyu kapatır.

    Link yapısı şöyle: example.com/teklif-1.html

    İş konusunu açan üyenin gördüğü konuşma linki ise: example.com/teklif-1-sirket-4.html

    Buradaki teklif-1 : teklif ID'si. sirket-4 : şirket ID'si.

    Umarım buraya kadar sıkıntı yoktur. Benim açımdan da bir sıkıntı yok, çünkü sorunum sadece konuşmaları listeleme ile alakalı.

    Şöyle ki: Firma example.com/teklif-1.html adresine girdiğinde eğer konuya teklif yazmışsa konuyu açan üye ile arasındaki konuşmaları görecek.

    Üye example.com/teklif-1-sirket-4.html adresine girdiğinde kendisi ve sirket-4 adresindeki, yani 4 numaralı firma ile arasındaki konuşmayı görecek.

    Tekrar etmekte fayda var tek sorunum cevapları listeleme ile alakalı.


    Veritabanı yapısına gelirsek;

    Firmaların iş konusuna teklifte bulunup bulunmamalarını takip ettiğim teklif_cevap_takip tablosu.


    Üye ile Firmalar arasındaki konuşmaları tuttuğum teklif_cevap tablosu;



    Bu tablodaki kullanici_id : cevap yazan firma veya üyenin ID'si.
    teklif_id teklifin ID'si.
    ref_id ise iş konusunu açan üyenin cevabı hangi firmaya yazdığı. (teklif-1-sirket-4.html)

    Biraz uzun oldu farkındayım ama olabildiğince açıklayıcı olmaya çalıştım. Yapmak istediğim firmanın: kendisi ile üye arasındaki konuşmaları, üyenin ise kendisi ile üye arasındaki konuşmaları sağlıklı şekilde listelemek.

    Okuyup yardımcı olmaya çalışan herkese şimdiden teşekkürler.
  • 10-10-2013, 12:52:20
    #2
    msgr adlı üyeden alıntı: mesajı görüntüle
    Bu tablodaki kullanici_id : cevap yazan firma veya üyenin ID'si.
    teklif_id teklifin ID'si.
    ref_id ise iş konusunu açan üyenin cevabı hangi firmaya yazdığı. (teklif-1-sirket-4.html)
    kullanici_id hem firma hem de uye id si olarak mı kayıt yapıyor ?

    bu durumda eğer firma bir teklif verirken bu kayıt teklif_cevap_takip tablosuna nasıl ekleniyor yani , ref_id kısmına ne yazılıyor ?

    O kısmı tam anlayamadım.
  • 10-10-2013, 14:17:38
    #3
    uysal_rockci adlı üyeden alıntı: mesajı görüntüle
    kullanici_id hem firma hem de uye id si olarak mı kayıt yapıyor ?

    bu durumda eğer firma bir teklif verirken bu kayıt teklif_cevap_takip tablosuna nasıl ekleniyor yani , ref_id kısmına ne yazılıyor ?

    O kısmı tam anlayamadım.
    kullanici_id hem firma hem de üye ID'si olarak ekleniyor. Firma cevap verirken teklif_cevap_takip tablosuna tek sefere mahsus kayıt ediliyor. Diğer cevaplarda ekleme olmuyor.
  • 10-10-2013, 15:35:33
    #4
    msgr adlı üyeden alıntı: mesajı görüntüle
    kullanici_id hem firma hem de üye ID'si olarak ekleniyor. Firma cevap verirken teklif_cevap_takip tablosuna tek sefere mahsus kayıt ediliyor. Diğer cevaplarda ekleme olmuyor.
    şöyle bir tablo olsa , daha anlaşılır olur

    id | uye_id| firma_id | teklif_id



    teklifler diye bir tablon daha olduğunu varsayarak şöyle bir sorgu olabilir.

    uye sayfasında firma tekliflerini bulurken ,
    Alıntı
    select * from teklifler where teklif_cevap_takip.uye_id = $uyeid and teklif_cevap_takip.firma_id = $firma_id
    gibi birşeyler yapılabilir.

    not:sorgumda hata olabilir , mantığı için yazdım.
  • 10-10-2013, 18:52:06
    #5
    Sorunu çözdüm;

    Üye için;

    DB::get("SELECT * FROM teklif_cevaplar WHERE
     (
       teklif_id='$teklif->id' &&
       kullanici_id = ".$_GET['sirket']."	
     ) ||
     (
       teklif_id='$teklif->id' &&
       ref_id = ".$_GET['sirket']." 
     )
    ORDER BY id ASC");
    Firma için;

    DB::get("SELECT * FROM teklif_cevaplar WHERE 						
      (					
       teklif_id='$teklif->id' &&	
       kullanici_id=".$_SESSION['firma']['id']." 
      ) ||
     (
       teklif_id='$teklif->id' &&
       ref_id = ".$_SESSION['firma']['id']."						
     )
    ORDER BY id ASC");