• 14-12-2017, 10:50:34
    #1
    Arkadaşlar merhaba,
    Sohbet uygulaması yapmaya çalışıyorum ama mantık olarak eksik yaptığım birşeyler var ama işin içinden çıkamadım.
    user tablom mesaj tablom var db olarak.
    mesaj tablosu içerisinde gonderen_id alan_id mesaj tarih var burda ilk sorum user tablosu ile left join yaptığımı varsayarsak gonderen ve alan userları nasıl bulup ayrıştırırım
    ikinsi sorum ise mesaj gönderen ve alan div bölümleri ayrı burda onları nasıl ayrıştırıp ekrana yazdırmalıyım gondren alan tarihe göre sıralamalı.
    <div class="gonderen">mesaj gönderen</div>
    <div class="alan">mesaj gönderene cevap</div>
  • 14-12-2017, 19:06:43
    #2
    Sohbet uygulamasi icin node.js socket.io kullanmak daha mantikli.
    Siz simdi bunu bu sekilde yaparsiniz fakat ileride db sisecek ve sonuc hüsran
    Bence hic bulasmayin daha iyi
  • 14-12-2017, 19:17:18
    #3
    xat.com vardı dehşet güzel bir chat uygulaması. hala var ama tr ye kapalı. bunun gibi bişey olsa manyak hit yapar.
  • 14-12-2017, 19:55:24
    #4
    ztk
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Şimdi sohbet uygulaması mı üyelerin mesajlaşması mı öncelikle bunu ayırmak lazım.

    Sohbet uygulaması php ile olur ama zor olur.
    Üyelerin birbiri ile gerçek zamanlı olmayan mesajlaşması ise dediğiniz gibi olur.

    Fakat çok basite indirgemişsiniz. Bu şekilde işin içinde çıkmanız biraz zor olur.

    Arada bir tablo daha olması lazım.

    User_chat gibi bir tablo olacak. İki kişi arasında bir konuşma başladığında buraya sadece bir kayıt girilecek.
    Bu tablodaki sütunlar; chat_id, user_id, user_2_id

    Daha sonra mesajlar tablosundaki her mesajı burayla ilişkilendireceksiniz. Yani mesajlar tablosu da şöyle;
    Message_id, chat_id, sender_id, message, date.

    Böylece siz iki kişi arasındaki konuşmayı çekerken bu iki kişi arasında konuşma var mı yok mu diye user_chat tablosuna bakacaksınız. Varsa bu chat in id sine sahip mesajları çekeceksiniz. Sender_id ile de mesajı kimin gönderdiğini anlayacaksınız.

    Bu da çok çok sağlıklı bir yöntem değil daha gelişmiş olması lazım ama uzunca süre basit bir sistem olarak iş görür.
  • 15-12-2017, 17:01:35
    #5
    Olmadı bir türlü yapamadım Detaylı yazıyorum.
    user tablom içerisinde user_id var.
    mesaj tablom içinde id gonderen_id alan_id tarih okunmadurumu var.
    şimdi sql listelerken
    SELECT * from mesaj m LEFT JOIN user u on u.user_id = m.gonderen_id where (m.gonderen_id=$gid AND m.alan_id=$user_id) OR (m.gonderen_id=$user_id AND m.alan_id=$user_id) order by mesaj_tarih ASC
    Yukarıdaki selecti kullanıyorum buraya kadar sorun yok.
    iki ayrı sohbet stili var gönderen alan
    göndereni listelerken <?php if ($gid==$msjcek['gonderen_id']){ ?>
    yazanın mesajları <?php if ($user_id==$msjcek['alan_id']){ ?>
    yukarıda gönderenin mesajlarını alıyorum sorun yok mesaj yazanınkileri yazdıramıyorum nasıl olacak bu acaba