Avatar billede catu Nybegynder
08. august 2007 - 08:14 Der er 6 kommentarer og
1 løsning

Forslag til simpel database

Jeg er ved at lave en meget simpel database, til at indsætte kommende fodboldkampe i, sådan at de kan vises på en hjemmeside for en en bar. (sådan at man kan se de næste kampe der kommer).
Jeg har 2 problemer.

Det første er selve databasens opbygning. Jeg havde engang noget undervisning i sql, men kan ikke huske så meget af det - kun at det vist ikke var så simpelt som man lige gik ud fra.

Det jeg havde forestillet mig var

kampID - int(11) auto_increment
dato - datetime
hjemmeHold - varchar(25)
udeHold - varchar(25)
turnering - varchar(25)

Når jeg så viser dem på siden skulle de gerne kunne sættes op således:

dato    hold      tid
16/4 Brøndby v FCK 17.00

Mangler jeg noget i ovenstående databasetabel?

Det andet er at jeg ikke ved hvordan man sorterer de kampe fra, som ikke har relevans mere, fordi datoen er overskredet. Går ud fra det er noget php kode jeg skal lave i Dreamweaver, og jeg stiller også bare spørgsmålet som et sidespørgsmål her, hvis der var nogen der skulle vide det
Avatar billede nemlig Professor
08. august 2007 - 08:23 #1
Jeg er ikke helt med på, hvor meget hjælp du skal have.
Skal du have hjælp til:
1. oprette databasen i MySQl
2. Inputformular, hvor du indtaster kampene, som derefter opdateres i MySQL
3. Hente de relevante kampe og vise dem i et skema
4. Slet kampene igen i MySQL, når de ikke længere er aktuelle (en slags vedligehold) eller hvis de er fejloprettede.

Kan du være lidt mere præcis med, hvad du skal have hjælp til??? :-)
Avatar billede catu Nybegynder
08. august 2007 - 08:42 #2
Først og fremmest ville jeg bare høre om databasen ser fin nok ud, eller om der mangler noget for at kunne sortere dem ordentligt. KampID er primærnøgle, men det er også den eneste ektra attribut der er sat.

2 og 3 har jeg styr på

4 er jeg ikke sikker på hvordan man gør. Lader man bare kampene blive i databasen, og så kun henter de relevante ind, eller kan man få databasen til at slette dem når datoen er overskredet.
Avatar billede ffsoft Praktikant
08. august 2007 - 08:55 #3
Det er ikke den optimale måde at gøre det på, men det kan godt virke.

En anden måde er at lave 2 tabeller: 1 for hold og 1 for kampe.

tblHold
  HoldID
  Holdnavn

tblKamp
  KampID
  KampSted
  KampDato
  Hold1ID
  Hold2ID

I princippet sletter man aldrig noget i en database med mindre
at man løber ind i seriøse pladsproblemer. Når du skal vise
data på siden bruger du feltet KampDato til at sikre at uaktulle
kampe ikke bliver vist.

Du kan evt. hente inspiration her: http://www.ffforening.dk
Avatar billede nemlig Professor
08. august 2007 - 09:12 #4
Din databaseopbygning synes jeg ser OK ud.
Varchar(25) fylder i øvrigt ikke mindre i databasen end Varchar(255).
Jeg selv har en større database kørende, hvor jeg har lavet en slet-funktion, så jeg derved begrænser størrelsen på databasen og samtidig optimerer søgetiden. Det har dog nok en meget begrænset betydning i dit tilfælde, da jeg fornemmer, at databasen ikke bliver ret stor.

Når du laver udtrækket fra MySQL, skal du kunne trække de relevante kampe ud. Det kan du gøre med et datoudtræk, som du så kan sortere i datoorden. Så har du rækkefølgen, når du skal vise kampene i skemaet.
Avatar billede nemlig Professor
08. august 2007 - 09:17 #5
Jeg plejer i øvrigt at lave dato-feltet med typen "date". Her kan jeg bidrage med eksempel på MySQL udtræk.
Avatar billede catu Nybegynder
08. august 2007 - 10:23 #6
Så skal man vel have både et dato felt og et time felt, når nu jeg skal have tidspunktet med?
Avatar billede nemlig Professor
08. august 2007 - 10:37 #7
Enig - men det er vel også sådan, at du i din form indtaster i 2 felter (dato og klokkeslet).
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



IT-JOB

Cognizant Technology Solutions Denmark ApS

Senior Test Manager

Udviklings- og Forenklingsstyrelsen

Alsidig testmanager til udvikling af vigtige IT-systemer

Netcompany A/S

IT Manager

Unik System Design A/S

Udviklingschef