Vrienden systeem
moet ik apart een table aanmaken genaamd friends?, graag hulp.
Mvg (verzonden vanaf imac, kan typfouten bevatten)
Dan kan je de tabel-structuur opbouwen.
Is dit juist, en zijn er voorbeelden waaruit ik dit kan opdoen?
Dus documenteer eerst eens wat de eisen zijn, en wat het moet kunnen. Daarna komt het technische gedeelte erbij kijken.
Gewijzigd op 20/04/2014 13:11:56 door - Ariën -
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.
Gewijzigd op 20/04/2014 13:16:08 door - Pepijn -
- 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?
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.
Gewijzigd op 20/04/2014 13:23:48 door - Ariën -
- RequestUserID
- FriendID
- Status (E_NUM: pending, accepted, blocked)
?
Dus open PHPmyAdmin, HeidiSQL of wat je maar gebruikt en bouw je tabel eens op.
RequestUserID int(256) NOT NULL auto_increment,
FriendID int(256) NOT NULL,
Status int(3) default NULL,
PRIMARY KEY (FriendID)
)
Zoiets?
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.
Gewijzigd op 20/04/2014 13:38:52 door - Ariën -
Toevoeging op 20/04/2014 13:41:55:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
CREATE TABLE Vrienden (
RequestUserID int(6) NOT NULL,
FriendID int(6) NOT NULL,
Status VARCHAR(12) default NULL,
PRIMARY KEY (FriendID)
)
?>
CREATE TABLE Vrienden (
RequestUserID int(6) NOT NULL,
FriendID int(6) NOT NULL,
Status VARCHAR(12) default NULL,
PRIMARY KEY (FriendID)
)
?>
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.
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.
Kijk eens naar de datatypes: 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.
Gewijzigd op 20/04/2014 13:47:52 door - Ariën -
Toevoeging op 20/04/2014 13:48:54:
Waar zou ik die ENUM in kunnen bouwen? Geef is een voorbeeld.
Alleen even nog even logisch kijken.
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?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)
)
?>
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?
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.
Gewijzigd op 20/04/2014 14:10:00 door - Ariën -
Dus iemand kan maar bij één iemand vriend zijn?
@Ger, ik ben een tutorial over SQL aan het doorlezen, dus tips zijn welkom.
Toevoeging op 20/04/2014 14:11:32: