Beste PHPHulpers, ik vraag mij af hoe ik een vriendensysteem bouwen kan,

moet ik apart een table aanmaken genaamd friends?, graag hulp.


Mvg (verzonden vanaf imac, kan typfouten bevatten)
Denk eerst eens logisch na, en zet dan eens op een rij wat het vrienden-systeem allemaal moet doen.
Dan kan je de tabel-structuur opbouwen.
Ik zat te denken aan een grote tabel, en dan simpelweg vriend1,2 vriend4,3.

Is dit juist, en zijn er voorbeelden waaruit ik dit kan opdoen?
Zet eerst de mogelijkheden op een rij? Is een vriendschap wederzijds, en moet deze bevestigd worden door je vriend, of hoeft deze niet te kunnen worden bevestigd en is het alleen van toepassing voor de gebruikers zelf?

Dus documenteer eerst eens wat de eisen zijn, en wat het moet kunnen. Daarna komt het technische gedeelte erbij kijken.
Ik zou het graag zo zien:

Henk stuurt vriendenverzoek naar Piet, die accepteert of blokkeert het, als 'ie geblokkeerd is, wordt vriendenverzoek naar 0 gezet, else naar 1, bij 1 komt Piet op Henks profiel.
Tevens moet het ook wederzijds zijn, en op de Henks profiel moet Piet staan
Sorry voor de onduidelijkheid.
Dan lijkt mij een tabel met drie velden wel prima.

- RequestUserID
- FriendID
- Status (E_NUM: pending, accepted, blocked)
En wat als Henk nou 129 vrienden heeft, is dit mogelijk en wordt mijn database niet super sloom?
129 is peanuts voor een database. Zelfs 1.000 is geen enkel probleem. 10.000 moet hij ook makkelijk trekken.

Als je nou meerdere dingen gaat combineren, zoals wat Hyves deed met vrienden-gradaties (vrienden van vrienden van vrienden), dan wordt het wat lastiger en beperkter. maar een simpel request-systeem is echt geen moeite.
Zou jij een sql querytje willen schrijven voor mij? met
- RequestUserID
- FriendID
- Status (E_NUM: pending, accepted, blocked)

?
Sorry, maar het is geen afhaalbalie hier. Zelf wat proberen mag ook.
Dus open PHPmyAdmin, HeidiSQL of wat je maar gebruikt en bouw je tabel eens op.
CREATE TABLE Vrienden (
RequestUserID int(256) NOT NULL auto_increment,
FriendID int(256) NOT NULL,
Status int(3) default NULL,
PRIMARY KEY (FriendID)
)

Zoiets?

Reageren