Doğru Cevap
-
friendship adlı bir tablo oluşturulur. alanlar "id | uye1_id | uye2_id | onay" olur. birisi başkasına arkadaşlık isteği gönderdiğinde uye1_id gönderen, uye2_id gönderilen. uye2 giriş yaptığında uye2_id kısmını kullanarak istekleri çekersin, kabul edilmezse kayıt direkt silinir, kabul edilirse onay kısmını sıfırdan 1'e çevirirsin. tabi bu arkadaşlık istekleri gönderilirken daha önce karşı tarafın kullanıcıya yolladığı bir istek var mı diye kontrol et ki kayıt tekrarı olmasın. arkadaşları çekerken de; select uye1_id, uye2_id from friendship where (uye1_id = 5 or uye2_id = 5) and onay = 1; gibi bir sorgu kullanabilirsin. gelen sonuçlarda bizim kullanıcımızın id'sini (örnekte 5) eleyip arkadaşların id'lerini bulursun.
arkadaşları ya da istekleri tablonun bir hücresinde virgül gibi bir karakterle ayırarak tutmak böyle durumlar için doğru değil. hatta genellikle doğru değil.
Cevaplar
-
Uyeler diye bir tablon olur . UyeId , Adi , Soyadi vs.... gider.
ve UyeArkadaslik diye bir tablon daha olur. bunun coloumnlari ise , Id, Uyeid,friendId,status seklinde olur.
birisi birine arkadaslik teklifi gonderginde ,
Uye arkadaslik tablosunda yoksa buraya statusu 0 olan bir kayit eklersin .
Daha sonra eger kabul ederse statusunu 1 yaparsin . Red ederse 2 yaparsin gibi.
Daha sonra bu tablodan da statusa gore veri cekip arkadaslarini, onay bekleyenleri, red edilenleri vs . gorebilirsin . -
Sağolun abilerim, ablalarım bu bilgiler iyi oldu ve mantığını kavradım şimdi bunları bir koda dökebilecekmiyim bakalım.
Çok teşekkür ediyorum her birinize.