form -> action="<?php echo $_SERVER['PHP_SELF']; ?>

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

  • #16
    Grundlagen...

    Du brauchst doch nur, dass was du on deinem vorletzten Satz geschrieben hast, in eine If()-Abfrage zu stecken.

    Liefer mal eigene Ansätze, dann können wir immer noch verbessern. Aber deine Hausaufgaben machen wir nicht.

    Kommentar


    • #17
      dh ich soll mit ner if-Abfrage überprüfen ob ich an dem Select was geändert hab und dann dies und jenes ausführen?

      Kommentar


      • #18
        Zitat von moepmann123 Beitrag anzeigen
        So, jetzt will ich im Select-Feld einen anderen Eintrag auswählen, dann auf Submit klicken und es so haben, dass nachdem die Seite durch das php_self neu aufgerufen wurde, im Select-Feld der vorher ausgewählte Wert selected ist.
        Na dann nutze diesen für den Vergleich.

        Zur Zeit wird ja einfach die DB Abfrage nochmal ausgeführt.
        Na das wird sie doch sowieso, um das komplette Select-Feld wieder aufbauen zu können ...?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #19
          naja, aber im Vergleich (hoffe wir meinen das gleiche :P) habe ich zz ja schon den angemeldeten Lehrer vorselektiert. Ich stehe etwas an

          Mfg

          Kommentar


          • #20
            PHP-Code:
            <form name=select action="<?php echo $_SERVER['PHP_SELF']; ?>">
            Jetzt lass das doch endlich mal weg!!

            Jeder Anfänger, welcher diesen Thread sieht, wird verführt PHP_SELF einzusetzen.
            Bitte lass das.....!


            Machs doch so, das ist genauso gut:
            HTML-Code:
            <form name=select action="">
            Einfach leer lassen. Sollte in deinem Fall dicke reichen.
            Wir werden alle sterben

            Kommentar


            • #21
              so, das php_self habe ich jetzt weg, werde mich morgen mal informieren wann ich das verwende danke dafür. (hab deinen post mal in meinem ersten gequoted )

              Hängen tu ich immer noch an der if-Abfrage, kriegs nicht so recht hin :/

              Mfg

              Kommentar


              • #22
                werde mich morgen mal informieren wann ich das verwende
                Die richtige Antwort ist: Nie!

                Ausnahme:
                Du möchtest XSS Attacken Serverseitig erkennen.
                Zuletzt geändert von combie; 05.07.2009, 21:23.
                Wir werden alle sterben

                Kommentar


                • #23
                  "Ich kriegs nicht hin" ist noch schlechter als "funktioniert nicht".

                  Ohne Problem(beschreibung) können wir dir nicht helfen. Und nochmal, wir machen nicht deine Hausaufgaben, das musst du schon selber machen.

                  Kommentar


                  • #24
                    so

                    so siehts zz aus. Wenn der erste Query n Ergebnis liefert, wird dieser selected. Wenn nun etwas im Select verändert wird und die Seite neu ladet, kann ich zwar per echo die ID ausgeben (es ist auch die richtige - die ausgewählte), jedoch, sobald die Seite neu ladet, was ja sofort geschieht wenn etwas verändert wird, springt das selected wieder zurück auf den Vergleich mit der DB Ausgabe.

                    Wenn der erste Query nichts liefert, kann ich perfekt alles auswählen, es bleibt auch nach dem Reload der Seite der richtige ausgewählte Wert erhalten.

                    PHP-Code:
                    <table>
                      
                         <tr> 
                          <td id='logtext'>Klasse:</td>
                          <td> <select style='width:50px;' onChange='this.form.submit()' class='box' name='sel_klasse'>  
                          
                          
                    <!-- Klasse waehlen //-->     
                    <?

                        $datum = date("d.m.Y");
                        $uhrzeit = date("H:i");
                        $tag = date("w");
                        
                     $klasse_norm ="SELECT * FROM t_klassen t;";
                       
                     $klasse = "SELECT * FROM t_stundenplan s INNER JOIN t_stundenzeiten st INNER JOIN t_klassen t
                        ON s.stunde = st.stunde AND s.klasse = t.klasse
                      WHERE s.lehrercode like '$lehrercode' AND '$uhrzeit' between st.von and st.bis AND s.tag like '$tag';";   
                     
                      $ergebnis_klasse = mysql_query($klasse);
                      $ergebnis_klasse_norm = mysql_query($klasse_norm);
                      
                     while($klasse2 = mysql_fetch_assoc($ergebnis_klasse)) { 
                     
                    $id_kl = "" . $klasse2['id_klasse'] .  "";
                     
                     }

                       while($klasse3 = mysql_fetch_assoc($ergebnis_klasse_norm)) {
                         if (isset($_GET['sel_klasse']) &&  $_GET['sel_klasse'] == "".$klasse3['id_klasse'].""){
                             $sel = " selected='selected'";
                         }
                         elseif($id_kl == $klasse3['id_klasse']){
                             $sel = " selected='selected'";
                         }
                         else {
                             $sel = '';
                        }
                        echo "<option value= '" . $klasse3['id_klasse'] .  "'$sel>" . $klasse3['klasse'] . "</option>";  
                        
                        $f_kl = $_GET['sel_klasse'];
                    }  

                    ?>
                          
                          </select></td>
                        </tr>

                    Wäre super wenn sich das mal schnell wer durchsehen könnte!

                    mfg

                    Kommentar


                    • #25
                      kleine Neuerung:

                      Ich bin draufgekommen, dass nur Optionen welche in der Liste VOR dem schon nach dem Login ausgewählten Datensatz stehen, zwar angewählt werden und auch den wert von dem Select Feld ändern, sie jedoch nicht als selected markiert werden. Alle Felder die nach dem schon vorher automatisch selektierten in der Liste stehen können problemlos angewählt werden und werden auch als neues selected verwendet!

                      Mfg

                      Kommentar


                      • #26
                        Zitat von moepmann123 Beitrag anzeigen
                        Ich bin draufgekommen, dass nur Optionen welche in der Liste VOR dem schon nach dem Login ausgewählten Datensatz stehen, zwar angewählt werden und auch den wert von dem Select Feld ändern, sie jedoch nicht als selected markiert werden. Alle Felder die nach dem schon vorher automatisch selektierten in der Liste stehen können problemlos angewählt werden und werden auch als neues selected verwendet!
                        Das ist mir immer noch zu konfus ...

                        Beschreibe doch bitte erst mal, was du eigentlich erreichen willst.

                        Wann sollen wo welche Optionen angezeigt werden?


                        Im Normalfall würde ich davon ausgehen, dass immer alle Datensätze selektiert und als Optionen angeboten werden.
                        Wenn beim ersten Scriptaufruf eine Auswahl stattfindet, dann werden auf der Folgeseite wieder alle Datensätze ausgelesen und Options erzeugt, lediglich mit dem Zusatz, dass die zuvor gewählte mit selected vorausgewählt wird.
                        Das wäre zumindest das gängige Muster, wie es der Nutzer von zahlreichen Formularen gewohnt ist.

                        Irgendwie habe ich aber den Verdacht, dass es bei dir anders ablaufen soll - aber wie, das ist mir bisher noch nicht klar geworden. (Ich hoffe wenigstens, dass du es selber schon weisst.)
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #27
                          wir meinen das Gleiche

                          angenommen ichhabe ein form mit nur einem select-feld.die optionen dieses select-felds werden immer durch eine db abfrage befuellt.

                          fuer dieses select feld habe ich 2 db querys. das erste sucht nach einem gezielten datensatz (es gibt nur ein ergebnis),der andere query liefert eine liste mit allen klassen mit welchen die optionen des select-feldes befuellt werden sollen.

                          beim erstmaligen laden der seite wird geschaut ob aus dem ersten query ein ergebnis kommt,dieses als variable gespeichert und diese wird dann fuer den elseif vergleich verwendet,um direkt die richtige klasse zu waehlen.

                          durch veraendern einer option wird die ausgewaelte option als &sel_klasse=option an den link der aktuellen seite angehaengt.

                          mit der if abfrage wird ueberprueft ob es diese adresserweiterung fuer dieses feld vorhanden ist,wenn ja wird der,in der adresserweiterung stehende wert vorselektiert.

                          das funktioniert mit meinem oben gepostetem script soweit auch schon ganz gut,lediglich wenn durch die variable vom ersten query eine andere option als die erste im zweiten query vorselektiert wird,kann ich nurnoch optionen welche sich in der select liste unter diesem datensatz befinden,erfolgreich anwaehlen,die vorselektierung geschieht hierbei jedoch super.

                          waehle ich jedoch eine option ueber der durch den db query vorselektierten option,geschieht die adresserweiterung zwar richtig,es wird jedoch trotzdem das ergebnis vom ersten db query,welches wie gesagt in einer variable gespeichert wird, vorselektiert.

                          hoffe das war einigermaßen verstaendlich,sorry fuers kleinschreiben,bin am handy

                          mfg

                          Kommentar

                          Lädt...
                          X