Avatar billede danic Nybegynder
12. august 2003 - 00:39 Der er 1 kommentar og
1 løsning

Hjælp til forum struktur og udtræk

Jeg forsøger at lave et forum, men kan ikke få helt styr på database strukturen hænger det her sammen?

Jeg ønsker at have x antal faste katagorier,
under hver katagori kan der oprette topics,
under hver topic kan der oprettes posts


Jeg valgt at lave 2 tabeller en til Kategori/topics og en til posts :

CREATE TABLE topics (
  ID int(5) NOT NULL auto_increment,
  TopicName varchar(50) NOT NULL default '',
  Kategori smallint(6) NOT NULL default '0',
  PRIMARY KEY  (ID)
) TYPE=MyISAM;


CREATE TABLE posts (
  ID int(5) NOT NULL auto_increment,
  TopicID int(5) NOT NULL default '0',
  Name varchar(50) NOT NULL default '',
  Post text NOT NULL,
  PRIMARY KEY  (ID)
) TYPE=MyISAM;

Nu vil jeg godt lave et udtræk af alle TopicName ud fra tabelen topics

$topic_query = mysql_query("SELECT TopicName FROM topics WHERE (ID=$topicID) AND Kategori = '$Kategori' ORDER BY 'ID' DESC");
$topic = mysql_fetch_array($topic_query);
Avatar billede arne_v Ekspert
12. august 2003 - 07:39 #1
Umiddelbart virker det meget OK.

Jeg formoder at du har en konvention topics.Kategori=0 => det er en kategori.

Du kunne overveje at lave en separat kategori tabel uden det felt.

Jeg tror at det ville give nogle nemmere queries senere.
Avatar billede danic Nybegynder
12. august 2003 - 08:34 #2
En separat kategori tabel er nok en god ide, men hvordan skal min query se ud hvis jeg skal hente TopicName ud fra hvor der sidst er skrevet en post? det må være noget med DESC LIMIT 0,5 (hvis der er skrevte 2 post i træk inden for samme TopicName skal den kun tages med en gang)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester