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)
Waarom 256 bytes voor een integer reserveren?
Beetje overdreven veel, ik zou 6 bytes doen.

En waarom is RequestUserID een AutoIncrement?

En waarom INT voor je Status? Je moet dan wel weten welk nummer bij welke status hoort.
@Aar in een integer kan je toch maar 128 dingen plaatsen?, alstublieft, kan u een structuur voor mij maken, ik heb op dit moment niet zoveel tijd en ik zou het graag af hebben, het hoeft geeneens mooi gecodeerd te zijn.

[size=xsmall]Toevoeging op 20/04/2014 13:41:55:[/size]

<?php
CREATE TABLE Vrienden (
RequestUserID int(6) NOT NULL,
FriendID int(6) NOT NULL,
Status VARCHAR(12) default NULL,
PRIMARY KEY (FriendID)
)
?>
Kijk eens naar de datatypes: http://www.tutorialspoint.com/mysql/mysql-data-types.htm
Waar haal jij eruit dat INT maar max. 128 items aankan? Dat is TinyINT...

Verder zou je ENUM() kunnen gebruiken, om je Status te kunnen beschrijven:
ENUM('pending', 'accepted', 'blocked')

Scheelt je onduidelijkheden met een mogelijke typfout als je VARCHAR zou gebruiken.
Pepijn --- op 20/04/2014 13:40:10

Ik heb op dit moment niet zoveel tijd en ik zou het graag af hebben, het hoeft geeneens mooi gecodeerd te zijn.

Klinkt als een slechte deadline, of verruim de tijd?
Ook kan je een vacature plaatsen in het Vacature-forum. Houd er wel rekening mee dat de kans klein is dat anderen niet snel iets vrijwillig doen.
Ik heb een Low-Budget, echter vind ik het leuker als ik het als vrienden dingetje doen kan I.P.V. iemand in te huren

[size=xsmall]Toevoeging op 20/04/2014 13:48:54:[/size]

Waar zou ik die ENUM in kunnen bouwen? Geef is een voorbeeld.
VARCHAR, INT, ENUM... dat zijn allemaal voorbeelden van Datatypes. ENUM dus ook, en die kan je als je logisch kijkt zo inbouwen in je structuur.


Alleen even nog even logisch kijken.
<?php
CREATE TABLE Vrienden (
RequestUserID int(6) NOT NULL,
FriendID int(6) NOT NULL,
Status ENUM('pending', 'accepted', 'blocked') default NOT NULL,
PRIMARY KEY (FriendID)
)
?>
Zoiets?
Wat dacht je van proberen ;-)

Valt me op dat je velden Engels zijn, maar de tabelnaam niet.
Niet dat het veel uitmaakt, maar consistente naamgeving en taal-gebruik maakt alles wel duidelijker.
>> PRIMARY KEY (FriendID)
Dus iemand kan maar bij één iemand vriend zijn?
@Aar de site wordt langzaam vertaalt, en later zet ik er een switch in.

@Ger, ik ben een tutorial over SQL aan het doorlezen, dus tips zijn welkom.

[size=xsmall]Toevoeging op 20/04/2014 14:11:32:[/size]

<?php
CREATE TABLE Friends (
RequestUserID int(6) NOT NULL,
FriendID int(6) NOT NULL,
Status ENUM('pending', 'accepted', 'blocked') default NOT NULL,
)
?>
[code]
CREATE TABLE Friends (
RequestUserID int(6) NOT NULL,
FriendID int(6) NOT NULL,
Status ENUM('pending', 'accepted', 'blocked') default NOT NULL,
PRIMARY KEY (RequestUserID, FriendID)
)

Reageren