Hallo liebe Leser,
habe ein Array Problem:
Die Form wird richtig gefüllt. Das Problem ist, dass im folgenden Teil nicht der Wert von $row->gebietid ausgegeben wird, sondern $row->gebietid selbst, siehe INSERT...:
INSERT INTO tbl_buecher_fachgebiete (buchid, gebietid) VALUES (8515, $row->gebietid)
statt $row->gebietid sollte in diesem Beispiel die Zahl 83 angezeigt werden.
Wer kann mir den entscheidenden Tipp geben. Bin schon seit Stunden an dem Thema dran und kämpfe mich durchs Internet und Foren, finde aber nicht die Lösung.
Herzlichen Dank für jede Unterstützung.
Auszug aus dem Quelltext:
<form action="<?PHP echo $PHP_SELF ?>" method="POST">
<table border="0" cellspacing="3" cellpadding="0">
<tr>
<td>
<select name="gebiet[]" multiple size="5">
<?PHP
// fachgebiete auflisten
while($row=mysql_fetch_object($allegebiete))
{
echo '<option value="$row->gebietid" ';
if (isset($sgebiet[$row->gebietid])) echo "selected";
echo ">";
echo $row->gebiet;
echo "</option>";
}
?>
</select>
</td>
<td valign="top"> <b>Mehrere auswählen</b>: <br>
Strg-Taste während
des Auswählens gedrückt halten </td>
</tr>
</table>
</form>
// Fachgebiete aendern
$query=mysql_query("DELETE FROM tbl_buecher_fachgebiete WHERE buchid=$buchid") or die ("alte Gebiete loeschen schlug fehl: ".mysql_error());
if(isset ($_POST[gebiet]))
{
foreach($_POST[gebiet] as $gebietid)
{
$xx="INSERT INTO tbl_buecher_fachgebiete (buchid, gebietid) VALUES ($buchid, $gebietid)";
echo "$xx<br>";
$query=mysql_query("INSERT INTO tbl_buecher_fachgebiete (buchid, gebietid) VALUES ($buchid, $gebietid)")
or die ("neue Gebiete eintragen schlug fehl: ".mysql_error());
}
}