Jessica: DropDown füllen

Hallo,

gibt´s nee Möglichkeit, dass ich das DropDown mit PHP füllen lasse? DErzeit sieht es so aus:

~~~html

<select>
<option>Juni 2013</option>
<option>Juli 2013</option>
                <option>August2013</option>
<option>September 2013</option>
<option>Oktober 2013</option>
<option>November 2013</option>
<option>Dezember 2013</option>
<option>Janaur 2014</option>
<option>Februar 2014</option>
<option>März 2014</option>
<option>April 2014</option>
<option>Mai 2014</option>
    </select>

  
Liebe Grüße  
Jessica
  1. Hallo,

    sorry hab zu schnell abgeschickt, bis jetzt habe ich das so:

      
            <form>  
                <select name="month">  
                <?php  
                $months = array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");  
                $monthNow = date("m");  
      
                for($i = 0; $i < 12; $i++)  
                {  
                    if(($i + 1) == $monthNow)  
                    {  
                        echo '<option value="' . ($i + 1) . '" selected>' . $months[$i] . '</option>';  
                    }  
                    else  
                    {  
                        echo '<option value="' . ($i + 1) . '">' . $months[$i] . '</option>';  
                    }  
                }  
                ?>  
                </select>  
            </form>  
    
    

    damit habe ich das komplette Jahr und es wird der aktuelle Monat ausgewählt, aber wie erreiche ich das von mir oben gezeigte?

    Liebe Grüße
    Jessica

    1. Liebe Jessica,

      if(($i + 1) == $monthNow)
                      {
                          echo '<option value="' . ($i + 1) . '" selected>' . $months[$i] . '</option>';
                      }
                      else
                      {
                          echo '<option value="' . ($i + 1) . '">' . $months[$i] . '</option>';
                      }

        
      Du willst Doch keine value-Attribute in Deinem HTML haben, warum erzeugst Du sie dann?  
        
      Liebe Grüße,  
        
      Felix Riesterer.
      
      -- 
      ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
      
      1. Hallo Felix,

        Du willst Doch keine value-Attribute in Deinem HTML haben, warum erzeugst Du sie dann?

        eigentlich schon, denn ich will ja später aus der Datenbank etwas auslesen sprich den Wert was in value steht. Damit soll später im Kalender geschaut werden ob zu diesem Monat etwas vorliegt. Aber ich muss est das mit dem DropDown hinbekommen.

        Liebe Grüße
        Jessica

        1. eigentlich schon, denn ich will ja später aus der Datenbank etwas auslesen sprich den Wert was in value steht.

          Schön. Und schon sind wir auf dem besten Weg zu einer gehackten Webseite. Das dedlfix noch nicht geschrieben hat, dass Du dann aber auch Serverseitig den Context-wechsel beachten musst wundert mich.

          Willst Du etwa jede einzelne Zeile hier im Forum besprechen? Wie lange soll das dauern?

          Jörg Reinholz

          1. @Jörg Reinholz: wattn los? Auf irgendwen/-was sauer?
            Kontextwechsel war in Ihrem Beispiel doch noch gar nicht zu beachten. Sie hat im value des selects das Inkrement der Schleife, keine Benutzereingabe oder Wert aus der Datenbank. Warum so aggressiv eigentlich?

            Cheers,
            Baba

            1. @Jörg Reinholz: wattn los? Auf irgendwen/-was sauer?

              Also Gestern war eher ein Tag mit guten Nachrichten.

              Kontextwechsel war in Ihrem Beispiel doch noch gar nicht zu beachten.

              Jessica schrieb:

              denn ich will ja später aus der Datenbank etwas auslesen sprich den Wert was in value steht. Damit soll später im Kalender geschaut werden ob zu diesem Monat etwas vorliegt.

              Ok. Im Beispiel stand _noch_ nichts dazu.

              Jörg Reinholz

          2. Hallo,

            Schön. Und schon sind wir auf dem besten Weg zu einer gehackten Webseite. Das dedlfix noch nicht geschrieben hat, dass Du dann aber auch Serverseitig den Context-wechsel beachten musst wundert mich.

            du bist in meinen Augen ganz schön arrogant, erst unterstellt du mir, dass ich etwas von einem Arbeitgeber geschrieben habe und nun das, was geht dich das an? was habe ich dir angtan dass du so reagierst. Du willst doch mit deinen Postings nur Werbung für deine WebSeite machen mehr aber auch nicht. Verlass die Seite, dann musst du meine Sachen hier nicht lesen. Ich höre von dir immer nur gehackte Seite usw. weißt du denn was ich vor habe? soll das jemals online gehen? Habe ich davon etwas geschrieben? NEIN habe ich nicht.

    2. Tach!

      damit habe ich das komplette Jahr und es wird der aktuelle Monat ausgewählt, aber wie erreiche ich das von mir oben gezeigte?

      Wie würdest du das denn ohne Rechentechnik machen? Vom aktuellen Monat weiterzählen bis Dezember, dann bei Januar anfangen und das Jahr hochzählen. Wenn wieder derselbe Monat auftaucht, dann aufhören. Das in Code umzusetzen sollte nicht sehr schwer sein, oder?

      dedlfix.

      1. Hallo,

        Wie würdest du das denn ohne Rechentechnik machen? Vom aktuellen Monat weiterzählen bis Dezember, dann bei Januar anfangen und das Jahr hochzählen. Wenn wieder derselbe Monat auftaucht, dann aufhören. Das in Code umzusetzen sollte nicht sehr schwer sein, oder?

        doch für mich ist das noch sehr schwer, ich komme aus der Design Welt und beschäftige mich jetzt mit PHP und das ist alles sehr neu für mich.

        Liebe Grüße
        Jessica

        1. doch für mich ist das noch sehr schwer, ich komme aus der Design Welt und beschäftige mich jetzt mit PHP und das ist alles sehr neu für mich.

          Dein Arbeitgeber soll Dir ein Grundlagentraining "spendieren". Das ist am Ende sehr viel billiger als dieses "herumwursteln".

          Jörg Reinholz

          1. Hallo,

            Dein Arbeitgeber soll Dir ein Grundlagentraining "spendieren". Das ist am Ende sehr viel billiger als dieses "herumwursteln".

            welcher Arbeitgeber? Wo habe ich geschrieben dass das für meine Arbeit ist? Ich studiere und mach das für mich, komm mal bitte wieder von deinem hohen Ross runter.

            1. Dein Arbeitgeber soll Dir ein Grundlagentraining "spendieren". Das ist am Ende sehr viel billiger als dieses "herumwursteln".

              Wo habe ich geschrieben dass das für meine Arbeit ist?

              Ich habe das

              ich komme aus der Design Welt

              so verstanden. Diese "Design Welt" sind normalerweise die "Layout-Fritzen". (Das ist was, was ich "nicht kann".)

              Ich studiere und mach das für mich

              Dann besorg Dir für die ersten Schritte Helfer vor Ort. Bietet der Bildungsgeber nichts an? Gibt es keine Bibliothek in der Du erst mal ein PHP-Buch ausleihen kannst? Und wenn Du eines hast, warum gehst Du nicht das Buch durch?

              komm mal bitte wieder von deinem hohen Ross runter.

              Das Auffällige an Deiner Frage ist, dass in Deinem Beispiel schon alles steckte, was Du - neben ein wenig Spieltrieb - brauchst um das _beschriebene_ "Problem" zu lösen. Ich bin der letzte der auf einem hohen Ross herumreitet, eher der erste, der in diesem Forum kritisiert wird. Gerade weil ich in vergleichbaren Fällen kurzerhand mal den Code poste. (soweit zu: "nur hier um Werbung zu machen)

              Dein Problem ist quasi damit vergleichbar, dass in einem Tischlerforum gefragt wird, wie man denn zum Verleimen zwei würfelförmige Stücke Holz zusammenpresst.

              Jörg Reinholz

              1. Tach!

                komm mal bitte wieder von deinem hohen Ross runter.
                Ich bin der letzte der auf einem hohen Ross herumreitet,

                Das magst du selbst nicht so sehen, aber deine Art zu antworten sieht für mich ebenso aus, besonders in letzter Zeit.

                eher der erste, der in diesem Forum kritisiert wird. Gerade weil ich in vergleichbaren Fällen kurzerhand mal den Code poste.

                Weil mir das oftmals nur deiner Profilierung zu dienen scheint, als dass du dem Self-Gedanken entsprechend mit dem Fragenden zusammen die Lösung erarbeitst. Oftmals ist er auch nur so dahingeworfen, ohne getestet zu sein.

                Dein Problem ist quasi damit vergleichbar, dass in einem Tischlerforum gefragt wird, wie man denn zum Verleimen zwei würfelförmige Stücke Holz zusammenpresst.

                Alles kein Grund, einen dermaßen unfreundlich aggressiven Antwortstil zu fahren - auch wenn du mit der Einschätzung nicht unbedingt daneben liegst.

                dedlfix.

                1. Tach!

                  Post!

                  [Thema:Code]

                  Oftmals ist er auch nur so dahingeworfen, ohne getestet zu sein.

                  Och. Das können andere auch.

                  Jörg Reinholz

    3. Die Antwort von dedlfix hilft Dir wahrscheinlich schon. Dennoch einige Anregungen von mir:

      • Ich konstruiere den Monate-Array gerne mit einem null Element am Anfang. Das erspart mir die ständige Indexverschiebung ($i+1) und ich kann auch mit date("m") direkt auf das Array zugreifen. Ist bei Dir im Bsp. auch schon passiert :) ($months[$i])
      • Das selektieren des aktuellen Monats geht so, wie Du es machst nur, wenn Du den Juni von 2014 nicht mit mehr mit ausgibst. Du möchtest zwar den Juni von 2014 gar nicht drinhaben, doch dies birgt m.E. ein kleines Fehler_potential_ für zukünftige Anwendungen, wenn Du es vielleicht doch über mehrere Jahre gehen lassen möchtest.
      • Wenn Du den Jahreswechsel drin hast, reicht es nicht mehr aus im value="" nur den Monat zu speichern.

      Wie wäre es eine weitere Variable $yearNow einzuführen?

      Zusammen mit den Vorschlägen von dedlfix ergäbe dies dann:

        
      »»<form>  
      
      >  <select name="month">  
      >  <?php  
      >  $months = array(null, "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");  
      >  $monthNow = date("m");  
      
          # $yearNow hier definieren  
          # $j = $yearNow;  
      
      >   
      >  for($i = i; $i <= 12; $i++)  
      >  {  
      >    if(($i == $monthNow)  and ())#  und aktuelles Jahr abfragen  
      >    {  
      
              # Ausgabe bei value und label entsprechend um die Jahresangabe erweitern  
      
      >      echo '<option value="' . $i . '" selected>' . $months[$i] . '</option>';  
      >    }  
      >    else  
      >    {  
      
              # Ausgabe bei value und label entsprechend um die Jahresangabe erweitern  
      
      >      echo '<option value="' . $i. '">' . $months[$i] . '</option>';  
      >    }  
        
            # lt. dedlfix: wenn max Monate pro Jahr erreicht ist, Jahr hier inkrementieren und Monate nullen (auf 1 setzen).  
        
      
      >  }  
      >  ?>  
      >  </select>  
      
      »»</form>  
      
      

      Wie gesagt, für den Einsatz von mehreren Jahren in die Zukunft (und Vergangenheit) würde ich es etwas anders aufbauen.

      Cheers,
      Baba

    4. damit habe ich das komplette Jahr und es wird der aktuelle Monat ausgewählt, aber wie erreiche ich das von mir oben gezeigte?

      [1] Du willst das oben angezeigte nicht so ergänzen, weil Deinen Options der Value fehlt. Damit wird das Formular sinnlos.(*)
      [2] Du willst wenigstens die Grundlagen von PHP lernen(**) und dann das Jahr einfach mal als String hinzufügen.(***)

      Hinweise:

      [*] Dieses Forum ist nicht geeignet _alles_ für Dich zu erledigen. Du sollst statt abgeschriebenen Kram zeigen, woran Du gescheitert bist.
      [**] Du sollst keine fremden Codebeispiele unwissend und kritiklos abschreiben. Das Ergebnis sind gehackte Webseiten.
      [***] Für derartige Hilfestellungen kalkuliere ich 60 € pro Stunde.

      Jörg Reinholz

  2. Liebe Jessica,

    gibt´s nee Möglichkeit, dass ich das DropDown mit PHP füllen lasse?

    ja. Unterstützt Dein Webspace PHP?

    DErzeit sieht es so aus:

    <select>...

    Das ist HTML-Code, kein PHP-Code.

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)