T-Rex: zweiter Wert speichern

Beitrag lesen

mysql_query("Insert into entfernung set ef_in_ID = '".$Id."', ".implode(',',$_data[$_counter]));
echo "Insert into entfernung set ef_in_ID = '".$Id."', ".implode(',',$_data[$_counter]);

Bei solchen Konstrukten merkst du spätestens bei debuggen, dass sie schöner geschrieben werden sollten. Gerade wenn du einen String hast, denn du immer wieder manipulierst, solltest du den String in eine Variable packen bzw. den Code auf mehrere Zeilen aufteilen. Dann kannst du zwischen jede Zeile ein echo (oder andere Ausgabe Mechanismen) packen und gucken wie die Variable gefüllt wird.

$strInsert = "Insert into entfernung set ef_in_ID = '".$Id;  
$strInsert .= "', ".implode(',',$_data[$_counter]);  
mysql_query( $strInsert );

Das kostet natürlich ein wenig mehr Arbeitsspeicher, da man das ganze aber sauber in eine Funktion kapseln sollte, wird dieser nach Aufruf der Funktion wieder Frei gegeben.

Wenn dein Code etwas mehr aufgeräumt ist (wobei das natürlich geschmacksache ist) würdest du vielleicht das hier sehen:
foreach($_POST as $prefix => $post)

Du gehst das $_POST Array durch. Soweit nichts schlimmes, wäre da nicht der obige mysql_query Befehl in dieser Schleife. Du speicherst also pro $_POST Key einen Datensatz in die Datenbank. Richtig wäre natürlich, erst die Daten zusammeln um sie nach der Schleife gemeinsam ab zu speichern.

Anhand deiner ID in der Datenbank (siehe Bild). Sehe ich auch dass du nicht lange testest. Das beste ist immer bei Problemen deinen Code mit Ausgaben zu zerrupfen, damit du genau siehst wann was passiert.

Gruß
Neuland Erkunder
T-Rex