kostenloser Webspace werbefrei: lima-city


Funktion mit Kalenderwochen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    jnuk

    jnuk hat kostenlosen Webspace.

    Hey Leute,
    Ich hab da mal n kleines Problem, und zwar würde ich gerne ein Online-Eingabeformular für die Essensbestellung unserer Schule erstellen. Da die Bestellung für die nächste Woche spätestens bis Mittwoch der Vorwoche abgegeben werden muss, würde ich gerne eine Funktion einrichten, die ab Donnerstag automatisch die nächste Kalenderwoche in dem Dropdown-Menü nicht mehr anzeigt. So weit bin ich schon:
    <select name="KW">
                    <?php
                        $kw=date("W",time()); 
                        
                        function addonewed ($n){
                            
                            if( date("w") > 3){
                                $n = $n + 2;
                            }
                            else {
                                $n = $n + 1;
                            }
                        }
                    ?>
                    <option value="eins">  <?php addonewed($kw); echo "KW "; echo $kw; ?>  </option>
                    <option value="zwei">  <?php $kw = $kw + 1; addonewed($kw); echo "KW "; echo $kw; ?>   </option>
                    <option value="drei">  <?php $kw = $kw + 1; addonewed($kw); echo "KW "; echo $kw; ?>   </option>
                </select>
    Jetzt habe ich das gestern (Mittwoch) getestet und da konnte ich noch für die nächste Woche (KW 22) bestellen, jedoch kann ich das nach Formular heute (Donnerstag) auch noch. Was habe ich falsch gemacht?
    Danke für eure Hilfe :thumb:

    Beitrag zuletzt geändert: 31.5.2012 14:47:45 von jnuk
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    jnuk schrieb:
    Was habe ich falsch gemacht?
    Schau dir das nochmal an:
    function addonewed ($n){
    	if( date("w") > 3){
    		$n = $n + 2;
    	} else {
    		$n = $n + 1;
    	}
    }
    Das gibt nichts zurück, es müsste so aussehen:
    function addonewed ($n){
    	if(date("w") > 3) {
    		return $n + 2;
    	} else {
    		return $n + 1;
    	}
    }
    Und einsetzen müsstest du das dann so:
    <option value="eins">  <?php $kw = addonewed($kw); echo "KW "; echo $kw; ?>  </option>
    <option value="zwei">  <?php $kw = addonewed($kw + 1;); echo "KW "; echo $kw; ?>   </option>
    <option value="drei">  <?php $kw = addonewed($kw + 1); echo "KW "; echo $kw; ?>   </option>
    Dir muss auch klar sein, dass damit immer eine oder 2 Wochen ausgelassen werden...
  4. Autor dieses Themas

    jnuk

    jnuk hat kostenlosen Webspace.

    hackyourlife schrieb:
    Dir muss auch klar sein, dass damit immer eine oder 2 Wochen ausgelassen werden...
    Das will ich gerade nicht. ;) Ich will, dass ab Mittwoch die aktuelle Woche nicht mehr angezeigt wird, sondern die nächsten 3 Wochen. Kann man das auch irgendwie realisieren? Trotzdem danke :)

    EDIT: Vielleicht so?
    <option value="eins">  <?php $kw = addonewed($kw); echo "KW "; echo $kw; ?>  </option>
    <option value="zwei">  <?php $kw = $kw + 1; echo "KW "; echo $kw; ?>   </option>
    <option value="drei">  <?php $kw = $kw + 1; echo "KW "; echo $kw; ?>   </option>


    EDIT 2:
    Ja, so funktionierts, wenn ich
    function addonewed ($n){
            
                        if( date("w") > 3){
                            return $n + 1;
                        }
                        else {
                            return $n;
                        }
                    }
    mache.

    Beitrag zuletzt geändert: 31.5.2012 20:28:51 von jnuk
  5. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    jnuk schrieb:
    EDIT: Vielleicht so?
    <option value="eins">  <?php $kw = addonewed($kw); echo "KW "; echo $kw; ?>  </option>
    Das macht das was du suchst...
    Wenn Mittwoch vorbei ist (vorausgesetzt deine Funktion funktioniert!) wird erst die nächste Kalenderwoche angezeigt und die nächsten beiden darauf folgenden.

    Beitrag zuletzt geändert: 31.5.2012 20:29:38 von hackyourlife
  6. 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!