Array im bedingten Array ausgeben
Maik W. aus E.
- php
Tach zusammen,
mit der Problematik, mehrere Werte in einem Array zu verarbeiten http://forum.de.selfhtml.org/archiv/2002/1/3538/ bin ich inzwischen weitergekommen, Cheatah wies mir den richtigen Weg, allerdings schaffe ich es nicht, beim Verarbeiten die Schleife so zu bauen, daß sie nicht im Dauerlade-Nirwana landet.
Ich habe es mit for probiert:
<? while($daten = @mysql_fetch_array($res, MYSQL_ASSOC)) {
if (!in_array($daten['usr'], $freigabe)) continue;
// hier wird entschieden, ob das Kreuz gesetzt ist
for($i=1; $i<$HTTP_POST_VARS['enddatumtag']; $i++){
$enddatumtag = $HTTP_POST_VARS[$i];
echo $enddatumtag;
}
Dann kommt allerdings
Warning: Undefined offset: 1 in freigabetest.php on line 24,
meine Versuche mit while, kamen auch nicht zum Ziel.
Wer kann helfen?
Besten Dank
Maik
Moin
Dann kommt allerdings
Warning: Undefined offset: 1 in freigabetest.php on line 24,
meine Versuche mit while, kamen auch nicht zum Ziel.
Es wäre hilfreich den HTML-Formularcode zu sehen.
Blindschuss: Zeile 24 ist die Zeile mit $enddatumtag = ..., aber im Formular ist nirgendwo ein Formularfeld namens "1" definiert.
--
Henryk Plötz
Grüße aus Berlin
Moin
Moin Henryk,
Dann kommt allerdings
Warning: Undefined offset: 1 in freigabetest.php on line 24,
meine Versuche mit while, kamen auch nicht zum Ziel.
Es wäre hilfreich den HTML-Formularcode zu sehen.
Kein Problem:
<TD><INPUT TYPE="CHECKBOX" name="freigabe[]" value="<? echo $daten["usr"]; ?>"></td>
<td><INPUT TYPE="TEXT" name="enddatumtag[]" size="2" value="<?echo substr($daten["letzte_aenderung"],6,2); ?>">.<INPUT TYPE="TEXT" name="enddatummonat[]" size="2" value="<?echo substr($daten["letzte_aenderung"],4,2); ?>">.<INPUT TYPE="TEXT" name="enddatumjahr[]" size="2" value="<?echo "0"; echo(substr($daten["letzte_aenderung"],2,2)+01); ?>"></td>
Das Formular ruft per POST $PHP_SELF auf, mit
if (isset ($HTTP_POST_VARS['freigabe'])){
wird ausgegabelt,
$res = mysql_query("SELECT * FROM user WHERE freigegeben = 0 ORDER by usr",$db) or die(mysql_error()); ?>
<table>
<? while($daten = @mysql_fetch_array($res, MYSQL_ASSOC)) {
if (!in_array($daten['usr'], $freigabe)) continue;
zieht das array freigabe auf,
for($i=1; $i<$HTTP_POST_VARS['enddatumtag']; $i++){
$enddatumtag = $HTTP_POST_VARS[$i];
echo $enddatumtag;
}
sollte dann eigentlich für jeden Datensatz in $freigabe $enddatumtag, $enddatummonat etc. ausgeben bzw. in die DB schreiben.
Blindschuss: Zeile 24 ist die Zeile mit $enddatumtag = ..., aber im Formular ist nirgendwo ein Formularfeld namens "1" definiert.
Treffer versenkt. Es sollte auch der 1-nte Wert für $enddatumtag ausgegeben werden, -eigentlich...
Grüße
Maik