Hallo!
Ich habe eine Seite erstellt, auf der ich in einer Tabelle Werte aus der Datenbank ausgebe.
Dabei soll es in einer Spalte möglich sein, die Datenbankeintrag "on the fly" mittels eines Dropdown zu aktualisieren.
Es funktioniert bereits, dass ich das Dropdownfeld mit allen möglichen Einträgen der DB-Tabelle integriere und hierbei der aktuell zugeordnete Wert aus der DB als selected gewählt wird.
Wenn ich nun allerdings einen neuen Wert auswähle, wird dieser nicht übergeben, sondern nur ein leerer String.
Kann mir da jemand weiterhelfen?
Der Code, mit dem ich die Tabelle erstelle:
Wobei der relavante Code, folgender ist:
Die Abfrage, ob der Eintrag geändert wurde:
Das "print_r($_POST); benutze ich zum Testen.
Als Ausgabe bekomme ich :
Würde mich über Anregungen, weshalb nur ein leerer String weiter gegeben wird, sehr freuen.
Ich habe eine Seite erstellt, auf der ich in einer Tabelle Werte aus der Datenbank ausgebe.
Dabei soll es in einer Spalte möglich sein, die Datenbankeintrag "on the fly" mittels eines Dropdown zu aktualisieren.
Es funktioniert bereits, dass ich das Dropdownfeld mit allen möglichen Einträgen der DB-Tabelle integriere und hierbei der aktuell zugeordnete Wert aus der DB als selected gewählt wird.
Wenn ich nun allerdings einen neuen Wert auswähle, wird dieser nicht übergeben, sondern nur ein leerer String.
Kann mir da jemand weiterhelfen?
Der Code, mit dem ich die Tabelle erstelle:
PHP-Code:
/*
Tabelle mit Inhalt aus Datenbank füllen
*/
//echo $sql;
$sql_add=$sql." ".$add;
mysql_query($sql_add);
$res = mysql_query($sql_add);
$rows = mysql_num_rows($res);
echo "<form method=POST action='"; echo $_SERVER["PHP_SELF"]; echo "?action=softwareUpdated'>";
//echo "<form method=POST action='softwareUpdated.php'>";
if ( $rows > 0 ) {
while ( $zeile = mysql_fetch_object($res) ) {
//SPALTE Ort
$ort=urlencode(utf8_encode($zeile->ort));
echo " <tr><td><a href=/geoinfo/geoinfo_uebersicht_anzeigen.php?action=show&ort=$ort target=\"_blank\">$zeile->ort</a></td>";
//SPALTE Ip-Adresse
$ipadresse=$zeile->ipadresse;
echo "<td><a href=/hardware/endgeraet_anzeige?ipadresse=$ipadresse&action=none>$zeile->ipadresse</a></td>";
//SPALTE Seriennummer
$seriennr=$zeile->endgeraet_seriennr;
echo "<td><a href=/hardware/endgeraet_anzeige?seriennr=$seriennr>$zeile->endgeraet_seriennr</a></td>";
//SPALTE NinJo-Version
echo "<td>";
$sqlo="SELECT sw_bemerkung FROM hw_sw GROUP BY sw_bemerkung";
$reso = mysql_query($sqlo);
$num=mysql_num_rows($reso);
echo "<select name='softwareupdate' size='1' style='width: 250px' onChange='this.form.submit()'>";
while($row = mysql_fetch_assoc($reso)) {
//echo "<option value=\"$row->ort\"> $row->ort ";
if ( $zeile->sw_bemerkung != "" ){
echo "<option value=\"$row->sw_bemerkung\" ";
if ( $zeile->sw_bemerkung == $row['sw_bemerkung'] ) {
echo " selected ";
}
echo ">" . $row['sw_bemerkung'] . "</option>";
}
else {
echo "<option value=\"".$row['sw_bemerkung'] . "\">" . $row['sw_bemerkung'] . "</option>";
}
}
echo "</select>";
echo "</td>";
//SPALTE Modell & Verband
echo "<td>$zeile->Modellbezeichnung</td><td>$zeile->verband</td>";
//SPALTE Mailadresse
if ( strcmp( $zeile->gi_nutzer_mail,"ohne" )) {
echo "<td><a href=\"mailto:$zeile->gi_nutzer_mail\">$zeile->gi_nutzer_mail</a></td</td>";
} else {
echo "<td>$zeile->gi_nutzer_mail</td>";
}
//SPALTE Telefon
echo "</td><td>$zeile->gi_nutzer_telefon</td></tr>";
}
}
echo "</form>";
PHP-Code:
//SPALTE NinJo-Version
echo "<td>";
$sqlo="SELECT sw_bemerkung FROM hw_sw GROUP BY sw_bemerkung";
$reso = mysql_query($sqlo);
$num=mysql_num_rows($reso);
echo "<select name='softwareupdate' size='1' style='width: 250px' onChange='this.form.submit()'>";
while($row = mysql_fetch_assoc($reso)) {
//echo "<option value=\"$row->ort\"> $row->ort ";
if ( $zeile->sw_bemerkung != "" ){
echo "<option value=\"$row->sw_bemerkung\" ";
if ( $zeile->sw_bemerkung == $row['sw_bemerkung'] ) {
echo " selected ";
}
echo ">" . $row['sw_bemerkung'] . "</option>";
}
else {
echo "<option value=\"".$row['sw_bemerkung'] . "\">" . $row['sw_bemerkung'] . "</option>";
}
}
echo "</select>";
echo "</td>";
PHP-Code:
print_r($_POST);
if ( isset ($_GET['action'] ) ) {
$action=$_GET['action'];
}
if ( $action == 'softwareUpdated' ){
if (isset ($_POST['softwareupdate'])){
$software = $_POST['softwareupdate'];
echo "Die aktuelle Software-Version: ".$software;
}else {
echo "Error";
}
}
Als Ausgabe bekomme ich :
Code:
Array ( [softwareupdate] => ) Die aktuelle Software-Version:
Kommentar