Daten aus mehrdimensionales Array in MySQL speichern - implode

hallo,

bin gerade dabei mein Array folgendermaßen aufzubauen:

Array
(
[12] => Array
(
[Spalte1] => Wert1
[Spalte2] => Wert1
[Spalte3] => Wert1
[Spalte4] => Wert1
[Spalte5] => Wert1
)

[13] => Array
(
[Spalte1] => Wert2
[Spalte2] => Wert2
[Spalte3] => Wert2
[Spalte4] => Wert2
[Spalte5] => Wert2
)

)


die 12 und die 13 sind die ID aus der DB.

Mein Versuch die Daten in die DB zu bringen:

PHP:
   $count = count( $_POST['test'] ); 
    for( $i = $Min; $i < $Max+1; $i++ ) 
    { 
        $j = 0; 
        $values = count( $_POST['etechnik'][$i] ); 

        $db_query = 'UPDATE `tabelle` SET '; 
        foreach( $_POST['test'] as $key => $var ) 
        foreach( $var as $key => $var2 )
        { 
            $j++; 
            $db_query .= '' .$key. ' = "' .$var2. '"'; 
            if( $j != $values ) 
            { 
                $db_query .= ', '; 
            }
        } 
        $db_query .= ' WHERE `id` = $i '; 
        echo '<br />query: '. $db_query;
        mysql_query( $db_query ) or die( '<br />SQL-Fehler: '. mysql_error() );
        echo '<br />'. mysql_affected_rows(). ' Datensätze betroffen';
    }
Erhebnis der Query

UPDATE `tabelle` SET Spalte1= "Wert1", Spalte2= "Wert1", Spalte3 = "Wert1", Spalte4 = "Wert4", Spalte5= "Wert5" Spalte1= "Wert6", Spalte2= "Wert7", Spalte3 = "Wert8", Spalte4 = "Wert9", Spalte5= "Wert10" , WHERE `id_technik` = $i


Was ist nicht hinbekomme
1.) Er soll für jede Datensatz einen eigenen UPDATE String generieren
2.) Vor der Where Klausel darf kein "," stehen
3.) Ausgabe vom Wert $i in der WHRE-Klausel

$Min = kleinster ID der gefunden Daten
$Max = grösste ID der gefundenen Daten

Bitte um Hilfe.
 
PHP:
$j = 0;
foreach( $array AS $id => $arr )
{
    $count = count( $array[$id] ); 
    $db_query = 'UPDATE `tabelle` SET ';
    foreach( $array[$id] AS $key => $var )
    {
        $j++;
        $db_query .= '`' .$key. '` = "' .$var. '"';
        if( $j != $count )
        {
            $db_query .= ', ';
        }
        elseif( $j == $count )
        {
            $j = 0;
        }
    }
    $db_query .= ' WHERE `id` = ' .$id;
    // query hier ausführen
}

Versuch dies mal.
 
Zurück