Problem mit select-Box

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit select-Box

    Hallo,

    ich möchte den user über eine Selecbox auswählen lassen, welche Datensätze (in meinem Fall welcher Turnierteil) angezeigt werden sollen und mache das folgendermaßen:

    PHP-Code:

    echo '<form action="test.php" name="formular"> 
    <p><select size="1" name="turnierteil" onchange="document.formular.submit()" width="250">'



    $sql="SELECT turnierteilID, turnierteil FROM turnierteile"
    $ergebnis mysql_query($sql); 
    while(
    $row mysql_fetch_object($ergebnis)) { 
        echo 
    "<option"
        if (
    $row->turnierteilID == $_POST['turnierteil']) { 
            echo 
    ' selected'
        } 
        echo 
    ' value="' $row->turnierteilID '">'$row->turnierteil '</option>'

    echo 
    '</select></p></form><br />'
    Soweit funktioniert das auch, es gibt aber drei Probleme dabei:

    1)
    Wähle ich den zweiten, dritten, oder n-ten Eintrag der Selectbox aus, werden zwar die richtigen Datensätze angezeigt, in der Selectbox steht aber immernoch der erste Eintrag als aktueller.


    2)
    Es klappt mit allen Einträgen der Selectbox, bis auf den ersten. Wenn ich z.B. auf den zweiten Eintrag der Selectbox klicke, werden die eintsprechenden Datensätze angezeigt. Gleiches beim dritten Eintrag usw. Klicke ich aber auf den ersten Eintrag, ändert sich nichts, der Klick wird nicht verarbeitet (gebe ich den Parameter manuell in die Adresszeile des Browsers ein, klappt es).


    3)
    Wenn ich error_reporting(E_ALL); einfüge, bekomme ich in der Selectbox die Meldung

    PHP-Code:
    NoticeUndefined Indexturnierteil in test.php on line 13 value="0">Gruppe A 
    angezeigt. In der genannten Zeile steht folgendes:

    PHP-Code:
    if ($row->turnierteilID == $_POST['turnierteil']) { 
    Weiter unten steht auch noch die Fehlermeldung:

    PHP-Code:
    NoticeUndefined variableturnierteil 


    Kann mir da jemand weiterhelfen? Vielen Dank für jede Antwort,

    Andi

  • #2
    probiere mal so

    if ($row->turnierteilID == isset($_POST['turnierteil']) ? $_POST['turnierteil'] : 0)

    Kommentar


    • #3
      Hallo asp2php,

      danke für Deine Antwort, leider klappt es so auch nicht.
      Zuletzt geändert von andi234; 15.06.2007, 11:47.

      Kommentar


      • #4
        Dass man sich in solchen Fällen als allererstes mal den generierten HTML-Code anschaut, sollte eigentlich selbstverständlich sein.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          @wahsaga:

          Ja, aber was willst Du mir damit sagen?

          Kommentar


          • #6
            Original geschrieben von andi234
            Ja, aber was willst Du mir damit sagen?
            Dass du uns vielleicht mitteilen könntest, was sich an besagter Stelle dem Auge darbietet ...?
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              @wahsaga:

              Ach so meinst Du das! Es hat sich nichts verändert, gleiche Ausgabe wie zuvor.

              Kommentar


              • #8
                Hi,

                leider weisst aber nur Du, wie die Ausgabe schon zuvor ausgesehen hat.

                LG

                Kommentar


                • #9
                  OffTopic:
                  Entweder macht das manchen Leuten Spaß, sich jedes Detail einzeln aus der Nase ziehen zu lassen - oder sie sind ...
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    Re: Problem mit select-Box

                    Original geschrieben von andi234
                    Es klappt mit allen Einträgen der Selectbox, bis auf den ersten. Wenn ich z.B. auf den zweiten Eintrag der Selectbox klicke, werden die eintsprechenden Datensätze angezeigt. Gleiches beim dritten Eintrag usw. Klicke ich aber auf den ersten Eintrag, ändert sich nichts, der Klick wird nicht verarbeitet (gebe ich den Parameter manuell in die Adresszeile des Browsers ein, klappt es).
                    Kann es vielleicht sein, dass das weniger an PHP, als vielmehr am Javascript liegt, siehe 'onchange'...
                    Es ist nicht deine Schuld, dass die Welt ist, wie sie ist,
                    Es wär nur deine Schuld, wenn sie so bleibt

                    Kommentar


                    • #11
                      Original geschrieben von kuddeldaddeldu
                      Hi,

                      leider weisst aber nur Du, wie die Ausgabe schon zuvor ausgesehen hat.

                      LG
                      nein, das hab ich doch in meinem ersten Posting unter 3) geschrieben

                      Kommentar


                      • #12
                        Original geschrieben von andi234
                        nein, das hab ich doch in meinem ersten Posting unter 3) geschrieben
                        Da hast du beschrieben, welchen Fehler du bekommst.

                        Also beseitige seine Ursache. (Die wohl ziemlich offensichtlich ist, aber das findest du jetzt bitte mal selber raus.)
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          @andi

                          es besteht ein sehr großer Unterschied zwischen dem was Du "siehst" wenn Du die Seite aufrufst und dem erzeugten Quelltext.

                          Quelltext kannst Dir im FF unter "Ansicht/Seitenquelltext anzeigen" anzeigen lassen.

                          Verstehst Du, daß man dann sehen kann wie Dein erzeugtes Formular aussieht ?

                          Kommentar


                          • #14
                            @Koala:

                            Ah, das meinst Du - sorry, das wusste ich garnicht. Aber hier ist es nun:

                            PHP-Code:
                            <td width="85%"><form action="tippen.php" name="formular"
                            <
                            p><select size="1" name="turnierteil" onchange="document.formular.submit()" width="250"><option<br />
                            <
                            b>Notice</b>:  Undefined index:  turnierteil in <b>/home/www/jenaug.100webspace.net/tippen.php</bon line <b>22</b><br />
                             
                            value="0">Gruppe A</optionturnierteil: <br />

                            <
                            b>Notice</b>:  Undefined variable:  turnierteil in <b>/home/www/jenaug.100webspace.net/tippen.php</bon line <b>29</b><br />
                            <
                            br><option value="1">Gruppe B</optionturnierteil: <br />
                            <
                            b>Notice</b>:  Undefined variable:  turnierteil in <b>/home/www/jenaug.100webspace.net/tippen.php</bon line <b>29</b><br />

                            <
                            br><option value="2">Gruppe C</optionturnierteil: <br />
                            <
                            b>Notice</b>:  Undefined variable:  turnierteil in <b>/home/www/jenaug.100webspace.net/tippen.php</bon line <b>29</b><br />
                            <
                            br><option value="3">Gruppe D</optionturnierteil: <br />
                            <
                            b>Notice</b>:  Undefined variable:  turnierteil in <b>/home/www/jenaug.100webspace.net/tippen.php</bon line <b>29</b><br />

                            <
                            br><option value="4">Viertelfinale</optionturnierteil: <br />
                            <
                            b>Notice</b>:  Undefined variable:  turnierteil in <b>/home/www/jenaug.100webspace.net/tippen.php</bon line <b>29</b><br />
                            <
                            br><option value="5">Halbfinale</optionturnierteil: <br />
                            <
                            b>Notice</b>:  Undefined variable:  turnierteil in <b>/home/www/jenaug.100webspace.net/tippen.php</bon line <b>29</b><br />

                            <
                            br><option value="6">Finale</optionturnierteil: <br />
                            <
                            b>Notice</b>:  Undefined variable:  turnierteil in <b>/home/www/jenaug.100webspace.net/tippen.php</bon line <b>29</b><br />
                            <
                            br></select></p></form><br /><br /> 
                            Zeile 29 ist dann diese:

                            PHP-Code:
                             echo ' value="' $row->turnierteilID '">'$row->turnierteil '</option>'

                            @wahsaga:

                            Das ist ja genau mein Problem, dass ich NICHT weiß wo der Fehler liegt. Ich weiß nicht warum ich die Meldung "Notice: Undefined Index: turnierteil" bekomme, weil der turnierteil ja über $_POST['turnierteil'] eingelesen wird und ich versteh auch nicht warum ich die zweite Meldung bekomme ("
                            Notice: Undefined variable: turnierteil"), weil man in PHP meines Wissens ja keine Variablen definieren muss...

                            Danke für euere Antworten, Andi
                            Zuletzt geändert von andi234; 18.06.2007, 10:50.

                            Kommentar


                            • #15
                              Original geschrieben von andi234
                              Ich weiß nicht warum ich die Meldung "Notice: Undefined Index: turnierteil" bekomme,
                              Die bekommst du genau deshalb, weil es in $_POST kein Element mit dem Index 'turnierteil' gibt.
                              weil der turnierteil ja über $_POST['turnierteil'] eingelesen wird
                              Du klingst ja fast so sicher, als hättest du das wirklich überprüft ...?
                              Was kam denn dabei heraus?
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X