Avatar billede steen_hansen Forsker
06. januar 2003 - 10:46 Der er 19 kommentarer og
1 løsning

Tilføje vilkårligt antal afsnit i database

Jeg forsøger at oprette artikler v.hj.a. formularer.

Allerførst opretter jeg artiklens overskrift, billede, billedtekst og manchettekst.

Herefter skal der tilføjes nye afsnit til artiklen v.hj.a. en ny formular. Til hvert afsnit skal der kunne knyttes et billede med billedtekst.

Mit spørgsmål går ud på: Hvordan knytter jeg flere afsnit til en artikel? Hvert afsnit kommer til at ligge i et notat-felt, men antallet af afsnit vil jo være variabelt. Skal jeg afsætte 15 notat-felter, så jeg er sikker på at have afsnit nok, eller kan det laves mere smart end det?
Avatar billede steen_hansen Forsker
06. januar 2003 - 10:54 #1
PS: Indtil videre ser databasen sådan her ud (den er ikke færdig):

NAVN: artikler

FELTNAVNE:

artikelID (primær nøgle, Autonummerering)

overskrift (tekst, Feltstørrelse = 30, Obligatorisk = Ja, TilladNullængde = Nej, Indekseret = Nej, UnicodeKomprimering = Nej)

manchettext (notat, Obligatorisk = Nej, TilladNullængde = Ja, UnicodeKomprimering = Nej)

artikeltext (notat, Obligatorisk = Ja, TilladNullængde = Nej, UnicodeKomprimering = Nej)

At hæfte ét afsnit på er jo nemt nok. Men hvad så med afsnit 2, 6, 9 eller 14? Antallet af afsnit kan jo variere, hvordan skal den kringles?
Avatar billede niceday Nybegynder
06. januar 2003 - 11:17 #2
Mere smart.

Du opretter en ekstra tabel indeholdende artikelID'et og et afsnit, billede og billedtekst.

Når så artiklen hentes - henter du også alle ekstra-artikler hvis (WHERE) artikelID er det samme i den ekstra.
Avatar billede niceday Nybegynder
06. januar 2003 - 11:19 #3
Dvs. først henter du selve artiklen vha. artikelID eller noget andet. Så bruger du artikelID'et til at identificere eventuelle ekstra-artikler i den anden tabel, hvor artikelID'et er det samme. Du bruger så en løkke til at hente alle disse ekstra artikler og skriver dem til brugeren.
Avatar billede steen_hansen Forsker
06. januar 2003 - 11:22 #4
det lyder fornuftigt, niceday, men hvordan får jeg puttet xx afsnit ned i et recordset, som ...?

Du mener noget med

WHERE artikelID = "0"

Hmmm? Kan du forklare nærmere? :o)
Avatar billede niceday Nybegynder
06. januar 2003 - 11:28 #5
Altså du har en tabel med f.eks. 3 artikler.

Når du så vil have en tilføjet et afsnit laver du en slags:

SQL = "INSERT INTO tabel_med_ekstra_afsnit (ArtikelID, Afsnittekst, billede, billedtekst) VALUES ('ArtikelID','afsnittekst','billede','billedtekst')"

Så smider koden det nye afsnit ind i en afsnittabel.
Avatar billede niceday Nybegynder
06. januar 2003 - 11:29 #6
Det kaldes i fagsprog en 'mange-til-en' relation.
Avatar billede steen_hansen Forsker
06. januar 2003 - 11:30 #7
JAMEN! Det er jo til at finde ud af :o) Tak for hjælpen.

Have a nice day :o)
Avatar billede niceday Nybegynder
06. januar 2003 - 11:30 #8
wups, bemærk lige at ArtikelID ikke må være primær nøgle - men fremmednøgle. Lav derfor bare noget Autonummer, som den selv klarer.
Avatar billede steen_hansen Forsker
06. januar 2003 - 11:35 #9
Fremmednøgle?
Avatar billede steen_hansen Forsker
06. januar 2003 - 12:14 #10
Du mener:

ID (primær nøgle, Autonummerering)

artikelID (tekst, Obligatorisk = Ja, TilladNullængde = Nej, Indekseret = Ja, dubletter tillades)

Eller ...?
Avatar billede niceday Nybegynder
06. januar 2003 - 12:19 #11
Ja.

For tabellen med afsnit skal din primærnøgle være et Autonummer og så skal du bare lave en kolonne med ArtikelID'erne, hvilket er fremmednøgle fordi det bygger på en henvisning fra en primærnøgle.
Avatar billede steen_hansen Forsker
06. januar 2003 - 13:06 #12
Ok, jeg prøver om ½ times tid :o)
Avatar billede steen_hansen Forsker
06. januar 2003 - 13:52 #13
FUK! Jeg har lige brugt 10 min. på at indtaste! Prøver igen :o(
Avatar billede steen_hansen Forsker
06. januar 2003 - 13:59 #14
Een database, to tabeller: afsnit (her skal afsnittende ligge) og artikel (her skal info om artiklen ligge)

Tabellen afsnit:

ID (Autonummerering, Indekseret = Ja - ingen dubletter)
artikelID (Tekst, Obligatorisk = Ja, TilladNullængde = Nej)
artikeltext (Notat, Obligatorisk = Ja, TilladNullængde = Nej)

Tabellen "artikel":

artikelID (Autonummerering, Indekseret = Ja - ingen dubletter)
overskrift (Tekst, Obligatorisk = Ja, TilladNullængde = Nej, Indekseret = Nej)
manchettext (Notat, Obligatorisk = Nej, TilladNullængde = Ja)
tid (skal bruges til at udskrive tidspunkt for upload)
Avatar billede steen_hansen Forsker
06. januar 2003 - 13:59 #15
Er det korrekt?
Avatar billede niceday Nybegynder
06. januar 2003 - 14:21 #16
Ja - bortset fra at du skrev du også ville have afsnitbillede og afsnittekst i afsnit-tabellen.

Men ovenstående er korrekt.
Avatar billede steen_hansen Forsker
06. januar 2003 - 14:22 #17
Ok, billede og billedtekst kommer til senere.

Hvis jeg opretter et nyt ? til 140 bobs, er du så til at lokke? Jeg tænker på koden/SQL m.m.
Avatar billede niceday Nybegynder
06. januar 2003 - 14:32 #18
Har du messenger eller icq ?
Avatar billede steen_hansen Forsker
06. januar 2003 - 14:39 #19
Jeg har Messenger, skal lige have det installeret. Har du en e-mail?
Avatar billede niceday Nybegynder
06. januar 2003 - 14:43 #20
niceday_havefun@hotmail.com
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
Kurser inden for grundlæggende programmering

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