Du behøver ikke sende koden, ovenstående beskrivelse er nok. Nu skal du bare se. Jeg har i nedenstående boks opstillet to tabeller, som jeg tænker kan fungere forholdsvis hensigtsmæssigt i din kode. Den kan sikkert optimeres (evt. med dato i form af timestamp eller lignende):
CREATE TABLE `opgaver` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`navn` varchar(60) NOT NULL DEFAULT ''
PRIMARY KEY (`id`)
)
CREATE TABLE `log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`gruppeID` tinyint(3) DEFAULT NULL,
`opgave1_ID` tinyint(3) DEFAULT NULL,
`opgave2_ID` tinyint(3) DEFAULT NULL,
`p1` enum('0','1') DEFAULT '0',
`p2` enum('0','1') DEFAULT '0',
`status` enum('0','1', '2') DEFAULT '0'
PRIMARY KEY (`name`)
)
CREATE TABLE `brugere` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`navn` varchar(60) NOT NULL DEFAULT '',
`kode` varchar(60) NOT NULL DEFAULT '',
`mail` varchar(120) NOT NULL DEFAULT '',
`oprettelse` enum('0','1') NOT NULL DEFAULT '0',
`medlemstype` tinyint(2) DEFAULT '0',
PRIMARY KEY (`id`)
)
CREATE TABLE `grupper` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`grupper_navn` varchar(60) NOT NULL DEFAULT '',
`p1_id` tinyint(4) DEFAULT NULL,
`p1_id` tinyint(4) DEFAULT NULL,
PRIMARY KEY (`id`)
)
Opgaver: I denne tabel oprettes opgaverne. Jeg har kun medtaget navn, da jeg ikke vidste, hvad du ellers vil medtage. Eksempelvis kunne dato for oprettelse af opgaven medtages her.
log: I log-tabellen sker de væsentligste tjek. Når en gruppe for tildelt 2 opgaver, oprettes der en række i tabellen (hvor det respektive gruppeID registreres). I stedet for både at have "igang" og "ok" med, har jeg erstattet disse to med "status". 0 indikerer, at den ikke er valgt, 1 indikerer, at opgaven er valgt (svarende til igang) og 2 indikerer, at opgaven er færdig og løst. ID'erne for de 2 respektive opgaver oprettes i felterne opgave1_ID og opgave2_ID. På den måde kan man hele tiden holde styr på, hvilke opgaver der er valgt. Når alle opgaverne er løst, slettes alle disse rækker (for den pågældende gruppe). Denne grupper kan herefter igen vælge opgaverne.
Brugere: Blot fjernelse af gruppernr-feltet. Desuden var jeg ikke sikker på, hvad "oprettelse" var, og hvordan du bruger det. Jeg gætter på, at det har noget at gøre med, om brugeren er aktiveret eller ej (i form af godkendelse over mail?). Du kan selv rette det til, hvis jeg tager fejl. Jeg går ud fra, at medlemstype/brugerniveau håndteres i form af tal - hvis det ikke er tilfældet skal tinyint ændres til varchar.
Grupper: I denne tabel oprettes grupperne. "gruppe_navn" kan du fjerne, hvis du ikke skal bruge det. P1 og P2 er hhv. person1 og person2. Værdierne for disse to personer skal korrespondere med id'et, fra bruger-tabellen. Desuden skal gruppeID fra log-tabellen passe med ID'et fra gruppetabllen.
Jeg håber ovenstående var med til at give et overblik - et indblik i, hvordan det
kan laves. Jeg vil gerne hjælpe med kodedelen, men jeg tænker, du selv kan arbejde lidt på det og vende tilbage, hvis du støder på problemer.
Spørg endelig, såfremt du har spørgsmål. :-)