i arkadaşlar (alıcılar), alıcıları> = 0 sayısı için bir not yazabilirsiniz orada sistem kullanıcıyı (gönderici) sahip. Mesajı Metin DB ve göndereni ve tüm alıcıları için görünür olarak kaydedilir daha sonra sisteme giriş yapın. Gönderici, herhangi bir zamanda daha fazla alıcıları ekleyebilirsiniz. Alıcıları herhangi üzerinde daha fazla mesaj düzenleyebilir ve hatta DB kaldırabilirsiniz. Bu sistem için ben kısaca, 3 tablolar oluşturuldu:
users(userID, username, password)
messages(messageID, text)
list(id, senderID, receiverID, messageID)
table "listesinde" her satır gibi, gönderici-alıcı çifti karşılık
sender_x_ID -- receiver_1_ID -- message_1_ID
sender_x_ID -- receiver_2_ID -- message_1_ID
sender_x_ID -- receiver_3_ID -- message_1_ID
Now the problem is:
1. if user deletes the message from table "messages" how to automatically delete all rows from table "list" which correspond to deleted message. Do i have to include some foreign keys?
More important:
2. if sender has let say 3 receivers for his message1 (username1, username2 and username3) and at certain moment decides to add username4 and username5 and at the same time exclude username1 from the list of receivers. PHP code will get the new list of receivers (username2, username3, username4, username5) That means insert to table "list"
sender_x_ID -- receiver_4_ID -- message_1_ID
sender_x_ID -- receiver_5_ID -- message_1_ID
ve ayrıca (daha fazla liste veya alıcıları değil) satır user1 olarak gelen tablo "listeden" silmek
sender_x_ID - receiver_1_ID - message_1_ID
hangi sql sorgusu kolay ve akıllı bir şekilde bunu yapmak için PHP göndermek için? Lütfen yardım edin! Sql sorgu örnekleri mükemmel olurdu!