08. november 2006 - 17:17Der er
13 kommentarer og 1 løsning
Nybegynder spørgsmål
Hej expeter
Jeg har fundet et php nyhedsystem og det virker smukt, MEN jeg vil gerne have at man kan poste nyheder i forskellige kategorier og jeg ved ikke hvordan jeg i min MySQL tabel så kan gøre det sådan at man kan vælge mellem 5-6 i forvejen givne kategorier, hvis i forstår hvad jeg mener. Tabellen ser sådan ud pt:
CREATE TABLE news ( id int(11) NOT NULL auto_increment, title varchar(100) NOT NULL default '', author varchar(60) NOT NULL default '', date datetime NOT NULL default '0000-00-00 00:00:00', synopsis text NOT NULL, text text NOT NULL, image varchar(100) NOT NULL default '', PRIMARY KEY (id) ) TYPE=MyISAM;
Du skal lave 5-6 tabeller så. En for hver kategori.. tabellen skal så indeholde alle rækker ligesom den du har skrevet foroven. Tabellerne skal hedder kategori1, kategori2, kategori3 osv.
Så skal du gøre følgene på indsæt siden - altså der hvor du skriver dine nyheder:
Nej, - der skal vel blot tilføjes et felt (kategori) til tabellen:
CREATE TABLE news ( id int(11) NOT NULL auto_increment, title varchar(100) NOT NULL default '', author varchar(60) NOT NULL default '', date datetime NOT NULL default '0000-00-00 00:00:00', synopsis text NOT NULL, kategori text NOT NULL, text text NOT NULL, image varchar(100) NOT NULL default '', PRIMARY KEY (id) ) TYPE=MyISAM;
udvikler, Det er ikke en særlig effektiv måde. Man skal blot normalisere datastrukturen. dadane, har fat i det rigtige, men hvis man skal have flere kategorier til hver post, så laver du en mange-til-mange-relation (en nyhed kan have flere kategorier, og en kategori kan tilhøre flere nyheder)
"news" tabellen kan beholdes som den er, og der tilføjes to nye tabeller:
CREATE TABLE news_category ( newsid int(11) NOT NULL, catid int(11) NOT NULL, PRIMARY KEY (newsid,catid) ) TYPE=MyISAM;
CREATE TABLE category ( catid int(11) NOT NULL auto_increment, catname varchar(100) NOT NULL default '', PRIMARY KEY (catid) ) TYPE=MyISAM;
Så opretter man blot nogle kategorier, og tilknytter dem vha. news_category
dadane, Næh, det lader til at han vil have én kategori pr. nyhed, men jeg ridsede bare muligheden op :) Det er nu dog meget normalt at have flere kategorier for en nyhed...
Hej tak for de mange og hurtige svar :) Oprindeligt havde jeg bare tænkt at én nyhed blev tilknyttet én kategori, men det coderdk snakker om er jo egentlig meget smart så bliver det mere "tag" agtigt, hvilket kunne være meget lækkert. Jeg vender tilbage når jeg har rodet lidt med det og set om jeg kan få det til at fungere som ønsket.
Hey hey igen ja jeg fik det til at virke med dadanes metode jeg kunne ikke helt finde ud af det med flere muligheder som coderdk foreslog, men anyways læg et svar for point
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.