Vriendensysteem

Status
Niet open voor verdere reacties.

gast0663

Gebruiker
Lid geworden
13 okt 2011
Berichten
452
Hallo,

Ik ben bezig met een vriendensysteem voor mijn website, ik heb een tabel aangemaakt genaamd: friends.
In de tabel staat: id, userid, friendid, accepted. Ik heb alles ingevuld, dus er staat nu in rij
in de tabel friends met dit: 1, 419, 429, 1. 419 is mijn id, 429 van iemand anders. Maar hoe kan ik nu
een pagina maken waarop je je vrienden kunt bekijken, dat snap ik niet. Kan iemand mij hiermee helpen?

Alvast bedankt.
 
Hallo,

In principe moet je gewoon een goede query opstellen waarmee je de vrienden van de user waarmee je ingelogd bent kunt weergeven.
 
@Remc0: Bedankt voor je reactie. En dat is het punt wat ik niet snap. Ik ben redelijk nieuw met PHP, maar wil gewoon graag dit systeem op m'n website, en heb op Google gezocht hoe dit moest. Toen heb ik gelezen dat je zo'n tabel moest maken, en dat heb ik dus gedaan. Maar zo'n query opstellen snap ik niet.
 
Ah, waarschijnlijk heb je gewoon een html tabel gemaakt?
De bedoeling is dat je op je host een MySQL database opzet met daarin tabellen. Door middel van PHP en query's kun je contact leggen met de database (en tabel). En door dus de juiste query's te maken kun je een vriendensysteem maken.

Dit is echter best lastig als je (nog) een beginner bent. Ik stel voor dat je je verdiept in PHP, MySQL, en de communicatie tussen PHP en een MySQL database (->tabel) d.m.v query's.

Linkjes;
w3school.com -> SQL inleiding.
w3schools.com -> PHP met SQL.
Lees de verschillende lessen door (in het engels). Dan zal je wel een eind komen denk ik.
 
Laatst bewerkt door een moderator:
@Koekje000: Nee, ik heb wel een tabel in MySQL gemaakt, bij PHPmyadmin. Het enigste wat ik niet snap, is hoe ik de vrienden van een gebruiker kan laten zien.
 
Ik weet niet hoe je database, tables, en alles is opgezet op je host. Dus ik kan je wat dat betreft geen hulp aanbieden (code etc.).
Als je dat tweede linkje bekijkt die ik in m'n vorige post stuurde leer je hoe je d.m.v. PHP kan communiceren met een SQL database.
 
Laatst bewerkt door een moderator:
@Koekje000: Bedankt, ik ga dat wel doorlezen en dan kom ik er waarschijnlijk wel uit.

Bedankt voor jullie reacties.
 
Een linkje naar een artikel over database ontwerp zou ook niet misstaan, want dat is veel belangrijker dan hoe je de database vanuit PHP aanspreekt.

Het voorgestelde model heeft bijvoorbeeld meteen al een paar fouten waar je later spijt van gaat krijgen:

Dit is een koppeltabel, de primary-key van deze tabel, datgene wat het record uniek maakt, is de combinatie van de twee userid's. Immers, piet kan maar 1x vriend zijn met klaas, en als piet al vrienden is met klaas dan is klaas per definitie ook vrienden met piet. Het mag dus niet kunnen gebeuren dat klaas een vriendverzoek plaatst naar piet terwijl hij al vrienden is met piet.

Dit kan dus niet:
1 - piet - klaas - yes
2 - klaas - piet - yes

Om dit te voorkomen kun je een PRIMARY KEY plaatsen op de combinatie van userid en friendid. Bij het invoeren kun je dan LEAST() en GREATEST() gebruiken om te zorgen dat het laagste van de twee userid's altijd in de eerste kolom staat en de grootste in de tweede:

INSERT INTO vrienden (userid, friendid) VALUES (LEAST(userid, friendid), GREATEST(userid, friendid));

Als 1 vrienden wil zijn met 2 dan levert dat userid=1 friendid=2
en als 2 vrienden wil zijn met 1 dan wordt dat ook userid=1 friendid=2, en dan verbiedt de Primary Key regel dat dit wordt ingevoerd.

Omdat de twee userid kolommen nu samen de primary key zijn heeft de "id" kolom geen meerwaarde en mag weg.

Nu kun je alleen niet meer aangeven wie van de twee het verzoek heeft verstuurd, en daarvoor voeg je simpelweg een nieuwe kolom "sender" toe, met daarin het id van de afzender.

Daarnaast wil je kunnen bijhouden of een vriendverzoek is verstuurd, ontvangen, geaccepteerd of afgewezen, dus "accepted" wordt "status" en bevat "sent", of "accepted" of "refused".
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan