Avatar billede yHec Novice
20. juli 2006 - 14:20 Der er 8 kommentarer og
1 løsning

Arrays og mySQL

Kort og kontant;
Kan man gemme et array i et felt i en database? I givet fald, hvilken datatype skal der bruges?

Er ved at lave et ordresystem.

/y
Avatar billede yHec Novice
20. juli 2006 - 14:21 #1
Udybet:
Kort sagt, så har jeg en indkøbskurv, der gemmes i en session. Min tanke var så, at gemme session'en som den er i en database (mySQL).

/y
Avatar billede nielle Nybegynder
20. juli 2006 - 14:25 #2
Du kan ikke gemme arrayet direkte. Det skal forbehandlesd lidt, men så kan du gemme den i et varchar felt.

Brug implode til at slå arrayet sammen. Brug et eller andet skilletegn som ikke forekommer ellers.

$data = (1, 5, 8, 0);
$dataStr = implode("¤", $data);

... og så gemmer du $dataStr i stedet for $data.
Avatar billede nielle Nybegynder
20. juli 2006 - 14:26 #3
Når du efterfølgende skal have data ud igen så bruger du explode() til at pakke ud til et array:

$dataStr = "1¤5¤8¤0";
$data = explode("¤", $dataStr);
Avatar billede yHec Novice
20. juli 2006 - 14:32 #4
Hmmm, det tænkte jeg nok, var selv inde på en ligende løsning.

smid et svar

/y
Avatar billede nielle Nybegynder
20. juli 2006 - 14:33 #5
Svar :^)
Avatar billede yHec Novice
20. juli 2006 - 14:33 #6
Hvorfor kan man egentlig ikke bare gemme et array??? Det ville da gøre livet nemmere på mange måder...
/y
Avatar billede nielle Nybegynder
20. juli 2006 - 14:46 #7
Et array er ikke bare et array. Der er store strukturmæssige forskelle på hvordan de implementeres i hukommelsen fra programmeringssprog til programmeringssprog. Endvider er der forskel på hvordan et associativt array er implementeret og hvordan et "almindeligt" array er det.

Jeg vil gætte på at alt dette tilsammen gør at det ikke sådan uden videre er nemt at definere hvordan en database skal gemme sådan en dims.

Desuden, hvis man skulle kunne gemme et array, hvad så med andre strukture? En stak? en hægtet liste? en dobbelthægtet liste? en kø? Hvor skulle man stoppe.
Avatar billede plx Nybegynder
20. juli 2006 - 15:21 #8
hvis du har brug for at gemme avancerede strukturerer, så kan du kigge på serialize og unserialize funktionerne
Avatar billede yHec Novice
20. juli 2006 - 15:30 #9
Det vil jeg sandelig kigge nærmere på. Ser ud til at gøre præcis det jeg mangler...

Tak:-)

/y
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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