Avatar billede weblance Nybegynder
19. august 2007 - 20:02 Der er 21 kommentarer og
1 løsning

Spørgsmål om at tilføje tekst i en række.

Jeg er stort set helt i bund vedr. kundskab til MySQL, men er alligevel gået i gang med at lære det.

Spørgsmålet går ud på dette:

Jeg har i min tabel følgende felter:

Navn
Adresse
Tlf
Email
DatoSidsteArbejde

Og planen var at DatoSidsteArbejde skulle indeholde datoerne for det sidste års tid,adskildt med et komma: 01.07.07, 01.08.07 ...osv.

Hvordan kan jeg tilføje datoer (eller hvilket som helst tekst) til en bestemt celle? Kan det lade sig gøre at tilføje tekst i stedet for at genskrive den hver gang?

/Carl
Avatar billede nielle Nybegynder
19. august 2007 - 20:07 #1
Du bør ikke putte alleværdierne i DatoSidsteArbejde på den måde. I stedet bør du oprette en ny tabel til at indeholde disse (en række pr. dato). Foruden et dataflet skal den have er person-id felt som peger tilbage på hvilken person det drejer sig om.
Avatar billede weblance Nybegynder
19. august 2007 - 20:26 #2
hvordan gør man det?
Avatar billede nielle Nybegynder
19. august 2007 - 20:28 #3
To tabeller:

=== Person ===
Id
Navn
Adresse
Tlf
Email

=== ArbejdsDato ===
Id
Person_id (lig med id på den person som har lavet arbejdet)
Dato
Avatar billede nielle Nybegynder
27. august 2007 - 21:07 #4
Har du fået kigget på det?
Avatar billede weblance Nybegynder
28. august 2007 - 12:05 #5
Nej desværre ikke endnu men jeg kan godt følge tanken.
Avatar billede weblance Nybegynder
28. august 2007 - 16:42 #6
Det jeg skal bruge det hele til er styring af min kundedatabase. Jeg arbejder som vinduespudser til daglig og har brug for et system hvor jeg kan holde styr på hvornår kunden har fået pudset sidst, hvornår der skal pudses næste gang, hvad der blev lavet sidst og hvad der skal laves næste gang. Så skal der også holdes styr på om kunden skylder noget, hvornår, og hvor meget.

Så med det du skriver kan jeg godt se at jeg skal bruge mindst 3 tabeller eller 4 og så køre en eller anden for for reference id på dem alle sammen.
Avatar billede weblance Nybegynder
28. august 2007 - 17:13 #7
Er der noget med at ID'en skal være en "primary key"?
Avatar billede nielle Nybegynder
28. august 2007 - 17:19 #8
Ja det skal de.
Avatar billede nielle Nybegynder
28. august 2007 - 17:20 #9
Jeg troer egentlig at du kan klare alle dine (nuværende) krav til systemet med de to tabeller (men med lidt flere felter):

=== Kunde === (Den tidligere Person-tabel)
Id
Navn
Adresse
Tlf
EMail

=== Ordre === (Den tidligere ArbejdsDato-tabel)
Id
Kunde_id (lig med id på den kunde som har lavet arbejdet)
Dato
Beskrivelse (lidt tekst om hvad kunden skal-have/har-fået lavet)
Beløb (beløbet i kr og øre)
Udført (ja / nej)
Betalt (ja / nej)
Avatar billede weblance Nybegynder
28. august 2007 - 18:10 #10
Det vil sige at

=== Kunde ===
Id

er det samme som

=== Ordre ===
Kunde_id

??
Avatar billede weblance Nybegynder
28. august 2007 - 18:12 #11
... alså hvis Id (Kunde) er 25 så skal Kunde_id (Ordre) også være 25
Avatar billede weblance Nybegynder
28. august 2007 - 22:50 #12
Har lige lavet to tabeller. Her er et datadump:

-- Struktur-dump for tabellen `KundeBase`
--

CREATE TABLE `KundeBase` (
  `KundeID` int(4) NOT NULL auto_increment,
  `Navn` varchar(64) NOT NULL,
  `Adresse` varchar(64) NOT NULL,
  `Postnr` varchar(64) NOT NULL,
  `By` varchar(64) NOT NULL,
  `Telefon` varchar(64) NOT NULL,
  `Email` varchar(64) NOT NULL,
  `Frekvens` varchar(64) NOT NULL,
  PRIMARY KEY  (`KundeID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

--
-- Data dump for tabellen `KundeBase`
--


-- --------------------------------------------------------

--
-- Struktur-dump for tabellen `OrdreBase`
--

CREATE TABLE `OrdreBase` (
  `KundeID` int(4) NOT NULL,
  `DatoSidstPudset` varchar(32) NOT NULL,
  `UgeNaestePuds` varchar(32) NOT NULL,
  `FrekvensID` varchar(32) NOT NULL,
  PRIMARY KEY  (`KundeID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Data dump for tabellen `OrdreBase`
--
Avatar billede weblance Nybegynder
28. august 2007 - 22:51 #13
Hvordan fletter jeg de to KundeID sammen? Skal det gøres i SQL'en eller gør jeg det i PHP'en?
Avatar billede nielle Nybegynder
28. august 2007 - 23:33 #14
Din OrderBase skal have både et id-felt (skom skal være en primary key) samt et kundeID. Som i 28/08-2007 17:20:14.

De flettes sammen i SQL'en:

SELECT * FROM KundeBase, OrdreBase WHERE KundeBase.ID = OrdreBase.KundeID
Avatar billede weblance Nybegynder
31. august 2007 - 11:38 #15
Jeg tænkte på at lave OrdreBase tabellen lidt om så jeg har nogle flere rækker med data for et helt år:

=== OrdreBase ===
ID
KundeID
01_ArbejdsDato (datoen i januar måned)
01_ArbejdsID (hvad der er blevet lavet)
01_Saldo (0 hvis kunden ikke skylder, beløbet hvis kunden skylder)
02_ArbejdsDato
02_ArbejdsID
02_Saldo
... osv. helt op til 12_xxxx

Vil dette fungere?
Avatar billede nielle Nybegynder
31. august 2007 - 21:54 #16
Hvis der er et fast antal pr kunde om året så er det en brugbar løsning - men du kommer til at betale for den med ekstra programmering.

Personligt ville jeg fortsætte med strategien: En række pr. ordre/opgave.
Avatar billede nielle Nybegynder
11. september 2007 - 17:54 #17
Har du fået det løst?
Avatar billede nielle Nybegynder
06. oktober 2007 - 16:29 #18
??
Avatar billede weblance Nybegynder
06. oktober 2007 - 22:16 #19
Jeg er desværre gået lidt i stå. Projektet er meget større end jeg havde regnet med, og kan se at jeg har meget at lære om databaser . . . især om normalisering.

Smid et svar så får du point - du har hjulpet mig et langt stykke hen ad vejen.

Nogle gode forslag til "must read" litteratur?
Avatar billede nielle Nybegynder
07. oktober 2007 - 10:19 #20
Hmmm, egentlig ikke nu da jeg tænker over det. Der er adskillige fag boghandler som ligger inde med litteratur om den slags - der kan du få lov til at kigge lidt før du køber. Bøgerne er dog nok på engelsk.
Avatar billede weblance Nybegynder
07. oktober 2007 - 11:55 #21
Ok, en tur på biblioteket kan måske hjælpe.
Avatar billede nielle Nybegynder
07. oktober 2007 - 12:14 #22
Absolut også en mulighed - men der kan du nok ikke få den store faglige ekspertise med at finde den rette bog. :^)
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