|
| 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
| |
|
|