Maik W. aus E.: Array im bedingten Array ausgeben

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

  1. 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

    1. 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