kostenloser Webspace werbefrei: lima-city


Formular-Auswertung: Mehrere User mit Bedingungen verlinken

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    ghostrider

    Kostenloser Webspace von ghostrider

    ghostrider hat kostenlosen Webspace.

    Hallo Leutz,

    Irgendwie habe ich gerade einen Gedankenklemmer :P

    Also ich habe ein tag/formular">Formular wo mehrere User aufgelistet werden und dort soll dann ausgewählt werden können, ob sie Anwesend, Entschuldigt oder einfach Fehlend waren. Nur weiß ich leider noch nicht wie ich diese Daten übermitteln soll und dann auswerten soll. Das ist mein bisheriger Anfang:

    Code:
    $content[$i].='
    '.$user['username'].': <select name="'.$user_id.'">
    <option value="0">Anwesend</option>
    <option value="1">Entschuldigt</option>
    <option value="-3">Nicht Erschienen</option>
    </select><br>
    ';


    Könnt ihr mir vielleicht einen weiteren Gedankenanstoß geben?

    Gruß
    Chris

    nikic: [code]-Tags hinzugefügt.

    Beitrag zuletzt geändert: 15.7.2010 12:31:38 von nikic
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Also ich versteh schonmal garnich, was du mit dem Codeschnipsel da ausdrücken willst :D

    Einmal versteh ich nich wozu du das alles in $content[$i] speicherst. Das müsste doch eigentlich ausgegeben werden?
    Dann ist es nicht optimal, dass du dem select-feld den namen der Userid gibst - du musst nämlich nachher den darin gespeicherten inhalt über den namen abrufen - du könntest das auch theoretisch so lassen, wenn du keine anderen werte in dem Formular übergibst (dann kannste es sogar ganz praktisch mit foreach abfragen)

    Im übrigen musst du das ganze formular noch in einen <form>-tag packen ;-)
  4. Autor dieses Themas

    ghostrider

    Kostenloser Webspace von ghostrider

    ghostrider hat kostenlosen Webspace.

    dustboy schrieb: Also ich versteh schonmal garnich, was du mit dem Codeschnipsel da ausdrücken willst :D
    -> Er soll Ausdrücken wie mein Ansatz dafür aussieht.

    Einmal versteh ich nich wozu du das alles in $content[$i] speicherst.
    -> Weil die File nur includet wird und der Inhalt von Content am ende ausgegeben wird.
    Das müsste doch eigentlich ausgegeben werden? s.o.

    Dann ist es nicht optimal, dass du dem select-feld den namen der Userid gibst - du musst nämlich nachher den darin gespeicherten inhalt über den namen abrufen
    -> Kann ich den nicht über die ID abrufen?

    - du könntest das auch theoretisch so lassen, wenn du keine anderen werte in dem Formular übergibst (dann kannste es sogar ganz praktisch mit foreach abfragen) -> Ich will jedeglich die Werte übertragen

    Im übrigen musst du das ganze formular noch in einen <form>-tag packen ;-) <- I kNoW ;-) thx


    Danke für die Schnelle Antwort, die Antworten siehst du im zitierten ;-)

    Gruß
    Chris
  5. ja gut , ich nehme an dann schickst du das alles per POST.
    Daten im Post sind dann ja immer user_id=-3|0|1

    (ungetestet)
    foreach ( $_POST as $post_user_id => $value)
    {
      if ( $value == -3)
          {  /*$post_user_id ist Nicht Erschienen*/    }
      if ( $value == 0)
          {  /* $post_user_id war Anwesend*/    }
      if ( $value == 1)
          {  /* $post_user_id war Entschuldigt*/    }
    }


    simpel per foreach, so wie dustboy bereits gesagt hat

    Beitrag zuletzt geändert: 15.7.2010 18:01:37 von simuliertes
  6. Das Problem, wenn du es über die User-ID abrufen willst ist eben, dass das skript sie kennen muss. Wenn tatsächlich nur die User-IDs versendet werden kannst du es aber wie simuliertes geschrieben hat sehr bequem lösen.

    Ansonsten würde ich das über Versteckt übermittelte Felder lösen - also wie du geschrieben hast mit UserID, nur eben noch dazu:
    <input type="hidden" name="ID1" value="UserID">

    €dit: Beim Zwieten kommt dann ein hidden mit dem namen ID2 dazu etc.

    Dann kannst du nachher das über eine for-Schleife lösen:
    for($i = 1;isset($_POST["ID".$i]);$i++)
    {
       $userid = $_POST["ID".$i];
       $value = $_POST["userid"];
       switch ($value)
       {
          case -3:
             //$userid ist nicht erschienen
             break;
          case 0:
             //$userid war Anwesend
             break;
          case 1:
             //$userid war Entschuldigt
             break;
       }
    }

    Ich weiß nicht, ob du dich mit Switch-Case auskennst, falls nicht kannst du auch das if-konstrukt von simuliertes statdessen einbauen - hab das nur so geschrieben um noch eine andere Möglichkeit aufzuzeigen und um mir bissel tippaufwand zu sparen :D

    Beitrag zuletzt geändert: 15.7.2010 18:23:17 von dustboy
  7. Autor dieses Themas

    ghostrider

    Kostenloser Webspace von ghostrider

    ghostrider hat kostenlosen Webspace.

    Hey Viele Dank für die schnellen Antworten.

    Gerad das mit dem foreach ist so einfach und simpel aber mir ist leider total entfallen das das Global Post ja nen array ist :P

    Also Vielen Dank läuft jetz wunderbar ;-)

    Gruß
    Chris
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!