Hej... Jeg har et udsnit af et php array som ser således ud...
Array
(
[3] => Array
(
[Name] => 2 Unlimited - No Limit (Moon Project Mix)
[Artist] => 2 Unlimited
[Album] => Trance Remixes
[Genre] => Trance
[Size] => 5538558
)
[4] => Array
(
[Name] => 2 Unlimited - Twilight Zone (Pk Hard Trance)
[Artist] => 2 Unlimited
[Album] => Trance Remixes
[Genre] => Trance
[Size] => 4777454
)
)
Og sådan ser det ud hele vejen igennem, og der er flere felter end Name, Artist, Album, Genre og Size, men for at holde det enkelt fjernede jeg de andre...
Mit spørgsmål er så hvordan jeg får hvert "under" array over i en MySQL database, således at hvis jeg har en database med et id felt der auto incrementerer og med nogle overordnede felter som er de samme som i arrayet (Name, Artist osv) at det så står som én post hvert array...
Stil gerne suplerende spørgsmål hvis i ikke forstår problemet...
Du kan feks. gøre sådan:
sådan laver du et array om til en string:
$string = implode(";",$ditArray);
det gemmer du så i din database, og så når du skal lave string'en om til et array gør du sådan:
$array = explode(";",$string);
håber du forstår
- SpeC|DK - #SpeC.DK @ Q-NET
Det var da en fjollet måde at gøre det på. Så har han jo ikke informationer om keys'ne i arrayet osv... Næh du, prøv sådan her:
Hvis dit array er konsistent.
<?
$vals = "";
for ($i = 0; $i < count($array); $i++) {
$val = $array[$i];
$vals .= " VALUES(";
foreach ($val as $key => $value) {
$vals .= "'$value',";
}
$vals = substr($vals,0,-1);
$vals .= ")";
}
$q = "INSERT INTO tabel (name,artist,album,genre,size) $vals";
?>
Så har du din mysql query i $q.
og btw, for at lave dit array om til en string, skal du bruge explode, og for at lave det om til et array igen, skal du bruge implode, så omvendt. Hvis det er den vej du vil.