also folgendes,ich hab ein file (insert.php) das soll mir alle inserts in die datenbank machen, übergeben wird nur der tabellen namen und die inhalte der spalten, bei denen man was einfügen will...
bsp:
tabelle material
spalten: id, menge, vorhanden
dann sieht die übergabe so aus: insert.php?table=material&menge=50&vorhanden=20
also will ich in die spalten menge und vorhanden was einfügen, id wird ja selbst eh gefüllt (ist hier ein auto_increment)
hier mein script:
PHP-Code:
include_once("db.php");
$table = $_REQUEST['table'];
$query = "SELECT * FROM " . $table . " LIMIT 1";
$insert = mysql_query($query) OR die("Fehler beim inserten :)");
$menge = mysql_num_fields($insert); /
for($i = 0; $i < $menge; $i++)
{
$namen = mysql_field_name($insert, $i);
$namen = $_REQUEST[$namen];
$values = $values . "'" . $namen . "' ";
if($i < ($menge - 1))
{
$values = $values . " , ";
}
}
$query = "INSERT INTO $table VALUES($values)";
$insert = mysql_query($query) OR die("Fehler bei fertigstellung");
echo "<font color=#00FF00><b>Erfolgreich eingefügt</b>";
nun, das funktioniert eigenltich ganz gut, solange ich nicht folgendes problem habe...
ich hab eine tabelle, in der hinten ein Fremdschlüssel mit der id einer anderen tabelle drinnen ist, wenn man nun einen neuen datensatz im forumlar erfassen will, hat es da eine select box, wo die namen aller datensätze in der zweiten tabelle sind (von der ich die ids in der andere tabelle hab), wen ich nun natürlich das übergebe, übergibt mir das da einen string den ich aber da nicht einfügen kann, da der fremdschlüssel eine zahl ist (ich hoffe jmd. kappiert meien beschreibung^^)
wie könnte man das lösen? kannman vielleicht im formular irgendwie die id angeben?
ich könne natürlich nun auch abfragen, wenn ich zu der tabelle gehe dan hol noch die id, aber das will ich nicht, das script sollte unabhängig sein, und nicht auf einzelne tabellen bezogen sein!