PHP bir eklenti arkadaşım / listemden çıkarırım işlevini nasıl yapılır?

3 Cevap php

Ben insanların bir profil oluşturabilirsiniz bir site oluşturduk. Ama kullanıcıların arkadaş olabilir bu yüzden bir eklenti arkadaşım düğmesi yapmaya başlamak için nasıl anlamaya çalışıyorum.

Benim kullanıcı tabloda, ben, first_name, son_ad, e-posta, vb USER_ID

Ben nasılsa bir arkadaşım tabloda kullanıcı ve arkadaşının user_id ilgili olmalıdır?

Ben programlama bir acemi değilim, bu yüzden bu şey hala benim için yeni. Teşekkürler!

3 Cevap

Well, let's try to keep this simple. You're trying, essentially, to find a way to connect two users together.

Şeyleri basit tutmak için çalışıyor ve kesinlikle bu bunu yapmanın en iyi yolu olduğunu ima etmiyorum, çünkü ben bunu hakkında gitmek için easiest yolu (users_friends) yeni bir tablo oluşturmak için olduğunu düşünüyorum Aşağıdaki alanlar: (User_id) ve (friend_id).

Well, so let's say my user_id is 5. Your user_id is 10.

I want to add you as my friend, therefore I'd add an entry to that newly created table with the following values: user_id = 5, friend_id = 10.

Yani, sen bütün arkadaşlarıma göstermek istiyorum diyelim, sen gibi bir sorgu çalıştırabilir:

SELECT * FROM `users` WHERE `user_id` IN ( SELECT `friend_id` FROM `users_friends` WHERE `user_id` = '5' );

Tabii ki, bir arkadaş çıkarmadan kolay, yapmanız gereken tüm yeni oluşturulan kayıt tablodan silmek ...

DELETE FROM `users_friends` WHERE `user_id` = '5' AND `friend_id` = '10';

Ve puf, sen artık benim arkadaşım aniden değilsin ;)

So yeah, these are the basics. I'd try this solution before moving on to a solution which will allow you more flexibility.

böyle bir şey:

create table users(
 user_id int unsigned not null auto_increment primary key,
 username varbinary(32) not null
)engine=innodb;


create table user_friends(
 user_id int unsigned not null,
 friend_user_id int unsigned not null,
 primary key (user_id, friend_user_id)
)engine=innodb;

arkadaşlar bir kullanıcının grubunu görüntülemek için:

select
 u.*
from
 user_friends uf
inner join users u on uf.friend_user_id = u.user_id
where
 uf.user_id = 1;

F00 ve Isaac cevap tamamlamak için:

  1. Temel pseudo-kod şöyle olacaktır:
  2. Profil sayfanızda (belki http://example.com/makefriend.php?memberid= $ memberid) düğmesi / URL var. En 'arkadaş olun' diyelim
  3. makefriend.php sonra bu özel profil sayfasından memberid kontrol edecektir.
  4. makefriend.php will too get requesterid from requester (this is usually saved on session).
    • boş, belki yapmadınız
  5. Sonraki, makefriend.php memberid eklemek ve requesterid diyor, friendlist olacaktır.