Hallo alle zusammen,
ich habe folgende tabelle (daten nennt sich diese) in meiner datenbank:
ID
Bemerkung I
Bemerkung II
Bemerkung III
Bemerkung IV
der benutzer klickt im Hauptmenü auf "anzeigen" wodurch folgende php datei ausgeführt wird.
diese zeigt dann alle daten in form von inputfeldern an die in der tabelle drin stehen.
der benutzer hat jetzt die möglichkeit diese daten direkt in dem inputfeld zu ändern und durch klicken des buttons "Änderung übernehmen" wird eine weitere Datei aufgerufen:
die daten die der benutzer ändert und per button weiter schickt werden in das array $daten_update gefüllt.
(dieses passiert in einer externen datei)
man muss dazu sagen das variablen wie $hidden_counter oder $daten_update in einer externen datei gesammelt werden und an die entsprechenden dateien weitergeleitet werden.
Mein problem ist jetzt das der sql befehl nicht klappt. Er sagt mir immer das dass array $daten_update leer ist.
aber wenn ich das array mit print_r über der while sql schleife ausgebe dann erhalte ich alle Werte. Wo liegt der Fehler?
ich habe folgende tabelle (daten nennt sich diese) in meiner datenbank:
ID
Bemerkung I
Bemerkung II
Bemerkung III
Bemerkung IV
der benutzer klickt im Hauptmenü auf "anzeigen" wodurch folgende php datei ausgeführt wird.
PHP-Code:
<?php
$rows = array("Bemerkung I", "Bemerkung II", "Bemerkung III", "Bemerkung IV");
$abfrage = "SELECT * FROM `daten` ORDER BY ID";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_array($ergebnis))
{
// Werte der SQL-Abfrage an Array
$be1[]= $row ["Bemerkung I"];
$be2[]= $row ["Bemerkung II"];
$be3[]= $row ["Bemerkung III"];
$be4[]= $row ["Bemerkung IV"];
}// While Schleife SQL
echo'
<br />
<div>
<form accept-charset="utf-8" action="update.php" method="post" >
<!-- ÜBERSCHRIFTEN -->
<table cellspacing="4" cellpadding="4">
<tr>
<td id="content_beschriftung">Bemerkung I</td>
<td id="content_beschriftung">Bemerkung II</td>
<td id="content_beschriftung">Bemerkung III</td>
<td id="content_beschriftung">Bemerkung IV</td>
</tr>';
$anzahl_be1 = count($be1);
$anzahl_be2 = count($be2);
$anzahl_be3 = count($be3);
$anzahl_be4 = count($be4);
$anzahl = ($anzahl_be1 + $anzahl_be2 + $anzahl_be3 + $anzahl_be4) / 4;
$x = 0;
$x1 = 1;
$x2 = 2;
$x3 = 3;
$x4 = 4;
while ($counter < $anzahl)
{
echo'
<tr>
<td><input id="content_input" type="text" name="daten'.$x1.'" size="23" maxlength="100" value="'.$be1[$x].'" /></td>
<td><input id="content_input" type="text" name="daten'.$x2.'" size="18" maxlength="100" value="'.$be2[$x].'" /></td>
<td><input id="content_input" type="text" name="daten'.$x3.'" size="18" maxlength="100" value="'.$be3[$x].'" /></td>
<td><input id="content_input" type="text" name="daten'.$x4.'" size="18" maxlength="100" value="'.$be4[$x].'" /></td>
</tr>';
$counter ++;
$x ++;
$x1 += 4;
$x2 += 4;
$x3 += 4;
$x4 += 4;
}
$counter *=4;
echo '<input type="hidden" name="hidden_counter" value="'.$counter.'" />';
echo '</table><input type="submit" name="button_update" value="Änderung Übernehmen" /></form></div>';
?>
der benutzer hat jetzt die möglichkeit diese daten direkt in dem inputfeld zu ändern und durch klicken des buttons "Änderung übernehmen" wird eine weitere Datei aufgerufen:
PHP-Code:
<?php
$bem1 = 0;
$bem2 = 1;
$bem3 = 2;
$bem4 = 3;
while ($counter < $hidden_counter)
{
$aendern = "UPDATE `daten` SET `Bemerkung I` = '$daten_update[$bem1]', `Bemerkung II` = '$daten_update[$bem2]',
`Bemerkung III` = '$daten_update[$bem3]',`Bemerkung IV` = '$daten_update[$bem4]'";
$update = mysql_query($aendern);
$counter ++;
$bem1 += 4;
$bem2 += 4;
$bem3 += 4;
$bem4 += 4;
}
(dieses passiert in einer externen datei)
PHP-Code:
$counter_db = 0;
$x = 1;
while($counter_db < $hidden_counter)
{
$daten_update[$counter_db] = $_POST['daten'.$x];
$counter_db ++;
$x ++;
}
Mein problem ist jetzt das der sql befehl nicht klappt. Er sagt mir immer das dass array $daten_update leer ist.
aber wenn ich das array mit print_r über der while sql schleife ausgebe dann erhalte ich alle Werte. Wo liegt der Fehler?
Kommentar