Funktion mit Kalenderwochen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aktuelle woche
bestellen
bestellung
code
date
donnerstag
einsetzen
formular
funktion
hilfe
kalenderwoche
kleines problem
leute
machen
mittwoch
realisieren
schule
url
vorwoche
woche
-
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:
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?<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>
Danke für eure Hilfe
Beitrag zuletzt geändert: 31.5.2012 14:47:45 von jnuk -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
jnuk schrieb:
Schau dir das nochmal an:
Was habe ich falsch gemacht?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... -
hackyourlife schrieb:
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 :)
Dir muss auch klar sein, dass damit immer eine oder 2 Wochen ausgelassen werden...
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
mache.function addonewed ($n){ if( date("w") > 3){ return $n + 1; } else { return $n; } }
Beitrag zuletzt geändert: 31.5.2012 20:28:51 von jnuk -
jnuk schrieb:
Das macht das was du suchst...
EDIT: Vielleicht so?<option value="eins"> <?php $kw = addonewed($kw); echo "KW "; echo $kw; ?> </option>
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage