Pascal: hab String mit Variablennamen,brauche String mit Var.inhalt

Beitrag lesen

Hallo Pascal,
ich glaube dein Problem fängt beim deklarieren der Variabeln an.
poste doch mal bitte diesen Code.

Gruss Nikki

Kurze Erklärung zu Code:

Beim Laden der Seite erstelle ich automatisch eine Tabelle mit dem Inhalt einer Tabele einer MSQL Datenbank. Die Feldbeschriftung ist gleich dem Feldname der Tabelle.

-------------------------------------------------------------------
// Spalten auslesen und Spaltentitel generieren.
print ("<table Border=1>\n");
$spaltenanzahl = 0;
while ($spalten = mysql_fetch_field($sqlResultorder)){
print ("<TD bgcolor=grey><B>$spalten->name:\n");
$spaltenanzahl++;
}
while ($row = mysql_fetch_row ($sqlResultorder)){
print ("\n<TR>");
for ($counter=0; $counter < $spaltenanzahl; $counter++){
print ("<TD>$row[$counter]");
}

-------------------------------------------------------------------
Gleichzeitig erstelle ich nach dem gleichen Prinzip ein Formular. Dieses sendet mir die Inhalte selbst zurück zum in die DB schreiben. Diese Inhalte sind in den Variabeln {$spaltenname der tabelle} gespeichert.
-------------------------------------------------------------------

print ("<Form METHOD="POST">");
print ("<TABLE Border=1>\n");
$sqlResultorder = mysql_query ($sql, $dblink);
while ($spalten = mysql_fetch_field($sqlResultorder)){
print ("\n<TR><TD><B>$spalten->name: <TD><INPUT NAME=$spalten->name>");
}
print ("</table>\n<BR><INPUT TYPE=reset>   <TD Align=left><INPUT TYPE=submit Value=Speichern><BR>\n </form><P>");

-------------------------------------------------------------------
Nun generiere ich mir am Anfang des Dokuments den für die Schreibaktion nötigen SQL (Hier habe ich auch das Problem, wesswegen ich diesen Thread angefangen habe).
-------------------------------------------------------------------

$sql = "SELECT * FROM $tabelle";
$sqlResultorder = mysql_query ($sql, $dblink);
$spaltenanzahl = 0;
while ($spalten = mysql_fetch_field($sqlResultorder)){
$spaltenarray[] = "$spalten->name";
$spaltenanzahl++;
}

for ($counter = 0; $counter < $spaltenanzahl; $counter++){
$spalten = mysql_fetch_field($sqlResultorder);
$spaltenstring .= "$spaltenarray[$counter], ";
$spaltenstring2 .= "'$$spaltenarray[$counter]', ";
}

$zeichen = strlen($spaltenstring)-2;
$spaltenstring = substr ($spaltenstring,0,$zeichen);
$zeichen = strlen($spaltenstring2)-2;
$spaltenstring2 = substr ($spaltenstring2,0,$zeichen);

$sqlinsert =  "INSERT INTO $tabelle ($spaltenstring) VALUES ($spaltenstring2)";

-------------------------------------------------------------------
Spaltenstring2 ist mein Problem, da es nur die Variabelnamen und nicht deren Inhalt in meine Variabel $sqlinsert schreibt. Die Inhalte kriege ich wie ja schon erwähnt über mein Formular per methode=post

Hoffe auf Hilfe...

Grüssli

Pascal