Individuelle Berechnung
-
Hallo,
Ich bräuchte die folgende Berechnung auf meiner Website:
(heutiges Datum – individuelles spezifisches Datum)*spezifische Nummer -> Anzeige des Ergebnisses in ProzentWie kann ich das machen?
Danke schon mal.
Beste Grüße,
Ismar
-
Gib mal ein konkretes Beispiel wie das aussehen soll.
Gruß, Torsten
Hallo Torsten,
danke für deine schnelle Antwort.
Ein Beispiel:
(20.07.2017 – 10.07.2017) x 1 (in %) = 10 (in %)Konkret geht es darum den Anteil des Return of Investment zu berechnen.
Im obigen Beispiel wurde ein Betrag investiert und nach 10 Tagen hat man 10% seines Investments zurück (bei 1% täglicher Verzinsung).Ich hoffe, du kannst mir helfen.
Beste Grüße
IsmarEs geht also um die Anzahl Tage zwischen zwei Daten. Dafür gibt es ab PHP 5.3+ eine eigene Funktion:
http://php.net/manual/de/function.date-diff.phpDer Rest ist ja triviales Multiplizieren.
Hilft dir das schon?
Gruß, Torsten
Ich bräuchte die folgende Berechnung auf meiner Website:
An einer Stelle oder an mehreren?
Als Widget in der Sidebar oder in Beiträgen/Seiten?
Mit flexibler Eingabe oder einem festen Wert?Wenn du in einem Template einen Wert an einer bestimmten Stelle einmalig ausgeben möchtest und Datum und Prozentsatz unveränderlich bleiben sollen, ist das tatsächlich nicht mehr als eine relativ einfache Berechnung, wie Torsten es bereits korrekt beschrieben hat.
Beim Erstellung oder Bearbeiten von Beiträgen und Seiten erlaubt WordPress hingegen keine direkte Eingabe von PHP, weil User damit z.B. das Berechtigungskonzept umgehen könnten und so eine ganz erhebliche Sicherheitslücke entstehen würde. Statt dessen kannst du die Shortcode API von WordPress nutzen, die ich hier beschrieben habe.
Shortcodes sind Begriffe in eckigen Klammern, die in WordPress mit einer Funktion hinterlegt sind, die im Frontend einen gewünschten Inhalt ausgibt. Zum Beispiel könnte der in einem Beitrag eingefügte Shortcode
[hallowelt]
im Frontend als<p class="hello">Schön dass du da bist!</p>
ausgegeben werden. Jenachdem wie der Shortcode definiert wurde, können zusätzlich Parameter eingegeben werden, die an die Funktion übergeben werden. So wird aus[hallowelt autor="Ismar"]
dann<p class="hello">Schön dass du da bist! Dein Ismar</p>
.Was die Sache etwas komplizierter macht: Die Eingabe von Parametern wie Datum und Prozentsatz müssen nicht nur aus dem Shortcode übernommen, sondern auch bereinigt und validiert werden:
Ein richtig eingegebener Shortcode könnte z.B. so aussehen:
[cdroi date="01.07.2017" value="2.4"]
Hingegen würde schon folgende Eingabe eine unschöne Fehlermeldung verursachen:
[cdroi date="01.07.2017" value="2,4"]
(Komma statt Punkt beim Wert)
oder
[cdroi date="31.06.2017" value="2.4"]
(falsches Datum).Und was wir natürlich gar nicht wollen, ist die Übernahme eines unerlaubten Parameters, z.B. um JavaScript auszuführen:
[cdroi date="<script>alert(\"Ätsch\");</script>" value="2.4"]
Die Bereinigung verhindert, dass als Parameter Schadcode einfügt wird. Die Validierung prüft, ob es sich bei der Datumseingabe auch tatsächlich um ein gültiges Datum und beim Prozentsatz um eine Zahl im richtigen Zahlenformat („4.5“ statt „4,5“ oder „4.5%“) handelt.
Bei Fehleingabe muss im Frontend eine Fehlermeldung ausgegeben werden, bei korrekter Eingabe die Berechnung durchgeführt und ausgegeben werden.Zur Erstellung einfacher Shortcodes gibt es sogar ein Plugins Shortcoder, nur werden hier eben keine Berechnungen ausgeführt. Die Chance, dass jemand bereits ein frei verfügbares Plugin für genau diese Berechnung geschrieben hat, ist dagegen recht gering – dafür ist der Anwendungsfall zu speziell.
Kostenlos Plugins nach individuellen Wünschen zu erstellen ist natürlich nicht Sinn und Zweck des Forums. Wir bieten hier Hilfe zur Selbsthilfe und können eigentlich bei so individuellen Anforderungen nur ein paar Gedankenanstöße liefern. Wenn du damit selbst nicht zurecht kommst, solltest du einen Dienstleister beauftragen. Da ich aber mit der von Torsten genannten Datumsfunktion ein wenig spielen wollte, habe ich jetzt kurzerhand ein Plugin aufgesetzt, das aber keinen Anspruch auf Vollständigkeit hat und das ich (selbst wenn dir noch ein paar Dinge einfallen, die auch noch hübsch wären) auch nicht weiterentwickeln werde. Du kannst das Plugin hier anschauen und hier herunterladen.
Bego Mario,
du bist der Hammer. Du hast meinen Tag gerettet. Für mich ist heute wie Weihnachten 🙂
Vielen, vielen Dank!
P.S. Das motiviert mich dazu, zu lernen wie man Plugins erstellt und ich werde es anhand deines Plugins üben.
- Das Thema „Individuelle Berechnung“ ist für neue Antworten geschlossen.