/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
At gemme et array i en database
Fra : Thomas Lundstrøm


Dato : 26-02-01 17:32

Jeg vil gerne gemme et array som tekst i en database. Hvordan gør jeg
nemmest det?
Jeg forestiller mig noget med parse_str() når jeg skal have det ud igen,
men det tror jeg hurdigt bliver uoverskueligt...

Nogle beddere foreslag?

Thomas L.


 
 
Troels Arvin (26-02-2001)
Kommentar
Fra : Troels Arvin


Dato : 26-02-01 17:55

On Mon, 26 Feb 2001 17:31:35 +0100, "Thomas Lundstrøm"
<thomas-l@mail.com> wrote:

> Jeg vil gerne gemme et array som tekst i en database. Hvordan gør jeg
> nemmest det?

Hvis du er sikker på, at det er PHP, der skal læse det igen senere, kan
du benytte PHP's serialize() og unserialize() funktioner:

http://dk.php.net/manual/en/function.serialize.php

--
Greetings from Troels Arvin, Copenhagen, Denmark

Emil Rasmussen (26-02-2001)
Kommentar
Fra : Emil Rasmussen


Dato : 26-02-01 17:58

Hej

> Jeg vil gerne gemme et array som tekst i en database. Hvordan gør jeg
> nemmest det?

Jeg plejer gerne at gøre sådan her:

$arrStoreDb = array("hej","med","dig");
while ($i = 0; $i < count($arrStoreDb);$i++) {
$stStoreDb .= $arrStoreDb[$i] .',';
}
$stStoreDb = substr($stStoreDb,0,-1);
//og tilbage igen
$arrOut = explode(",",$stStoreDb);
print_r($arrOut); //mon ikke det passer?

Er ikke testet osv.
Det er så min måde at gøre det på, men mon ikke der findes andre forslag?

Mvh Emil

--
Emil Rasmussen
http://www.noget.net
----------------------------------------
http://www.webstandards.org/upgrade/




Andreas Kleist Svend~ (26-02-2001)
Kommentar
Fra : Andreas Kleist Svend~


Dato : 26-02-01 20:55

"Emil Rasmussen" <4833o41fj001@sneakemail.com> udtrykte:

>while ($i = 0; $i < count($arrStoreDb);$i++) {
> $stStoreDb .= $arrStoreDb[$i] .',';
>}
>$stStoreDb = substr($stStoreDb,0,-1);

Ovenstående er lidt spild af tid idet der findes en funktion der hedder
implode, den gør præcis det samme, altså:

$stStoreDb = implode(",", $arrStoreDb);

>Det er så min måde at gøre det på, men mon ikke der findes andre forslag?

Jeg har ikke lige noget andet på stående fod, men det bør nok bemærkes
at man ved denne metode skal være _helt_sikker_ på at der ikke er nogle
kommaer i det array man vil gemme i sin database.

--
mvh Andreas...
Nau.dk's nyeste tutorial: "Tabeller i WML"
Tilføjet 20. Februar 2001
http://www.nau.dk/tutorials/tabel/

Jonas Koch Bentzen (26-02-2001)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 26-02-01 20:44

Thomas Lundstrøm skrev:

> Jeg vil gerne gemme et array som tekst i en database. Hvordan gør jeg
> nemmest det?

Der er kommet et par gode forslag, men jeg må indrømme, jeg ville gå en
helt anden vej. En SQL-tabel er jo netop en slags array, og at gemme et
array i et felt er efter min mening lidt tumpet. Jeg ville oprette en
ny tabel til informationerne.

--
Venlig hilsen
Jonas Koch Bentzen


Emil Rasmussen (27-02-2001)
Kommentar
Fra : Emil Rasmussen


Dato : 27-02-01 10:02

Hej

> Der er kommet et par gode forslag, men jeg må indrømme, jeg ville gå en
> helt anden vej. En SQL-tabel er jo netop en slags array, og at gemme et
> array i et felt er efter min mening lidt tumpet. Jeg ville oprette en
> ny tabel til informationerne.

Altså det man med et fint ord kalder normalisation? Her kommer min
rationelle tankegang så ind i billedet, om det ikke kræver flere resourcer
at skulle lave joins, end det gør at lave et array om til en streng? Men det
er jo det evindelige spørgsmål, i hvert fald i mit lille hoved, om hvad er
mest hensigtigtsmæssigt, at bruge PHP eller SQL?

Nu vi er i gang med resourcer; hvad med objecter der bliver gemt i session
variabler, for og imod ??

Mvh Emil

--
Emil Rasmussen
http://www.noget.net



Jonas Koch Bentzen (27-02-2001)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 27-02-01 11:34

Emil Rasmussen skrev:

> Altså det man med et fint ord kalder normalisation? Her kommer min
> rationelle tankegang så ind i billedet, om det ikke kræver flere
> resourcer at skulle lave joins, end det gør at lave et array om til en
> streng?

Svært at sige. Jeg ved bare, at det for mig virker imod selve
grundideen i en SQL-database at gemme en tabel-lignende streng inden i
et felt.

--
Venlig hilsen
Jonas Koch Bentzen

Emil Rasmussen (27-02-2001)
Kommentar
Fra : Emil Rasmussen


Dato : 27-02-01 11:42

> Svært at sige. Jeg ved bare, at det for mig virker imod selve
> grundideen i en SQL-database at gemme en tabel-lignende streng inden i
> et felt.

Det kan vi nok ikke blive Unige omkring

Mvh Emil

--
Emil Rasmussen
http://www.noget.net



Troels Arvin (27-02-2001)
Kommentar
Fra : Troels Arvin


Dato : 27-02-01 18:23

On Tue, 27 Feb 2001 10:01:34 +0100, "Emil Rasmussen"
<4833o41fj001@sneakemail.com> wrote:

> Her kommer min
> rationelle tankegang så ind i billedet, om det ikke kræver flere
> resourcer at skulle lave joins, end det gør at lave et array om til en
> streng?
Det kommer an på, hvad man skal bruge det til, og hvorledes man præcis
gør det.

Ofte vil det være mindre ressourcekrævende at lade det relationelle
databasesystem gøre sit job - som det er optimeret til.

Men der kan være situationer, hvor det giver mening at gemme et
serialiseret array eller objekt i sin database (fx. i et BLOB felt).

> hvad er mest hensigtigtsmæssigt, at bruge PHP eller SQL?
Et relationelt databasesystem er optimeret til at håndtere ...
datarelationer.

> Nu vi er i gang med resourcer; hvad med objecter der bliver gemt i
> session variabler, for og imod ??
Det er umuligt at svare på så generelt et spørgsmål. Der kan være masser
af gode grunde til gemme objekter i sessionen. Det kan give en god,
"clean" løsning, hvis man gør det ordentligt. Og det kan give betydelig
bedre performance end at sidde og hente/gemme rådata manuelt. Men det
kan give en dårlig løsning, hvis éns objekter er nogle bloat'ede sataner
med en masse unødvendige data.

--
Greetings from Troels Arvin, Copenhagen, Denmark

Emil Rasmussen (27-02-2001)
Kommentar
Fra : Emil Rasmussen


Dato : 27-02-01 20:32

Hej

> Det er umuligt at svare på så generelt et spørgsmål. Der kan være masser
> af gode grunde til gemme objekter i sessionen. Det kan give en god,
> "clean" løsning, hvis man gør det ordentligt. Og det kan give betydelig
> bedre performance end at sidde og hente/gemme rådata manuelt. Men det
> kan give en dårlig løsning, hvis éns objekter er nogle bloat'ede sataner
> med en masse unødvendige data.

Ja, en tommelfingerregel må være ikke at gemme unødvendige ting i sessions,
hehe
Men tak for tankerne!

Mvh Emil

--
Emil Rasmussen
http://www.noget.net



Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408877
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste