WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- [PHP/MySQL] - zu einem beliebigen Datum einen Monat addieren

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » [PHP/MySQL] - zu einem beliebigen Datum einen Monat addieren<... - 21 Nov 2024 Antworten
im Forum für Webhosting Homepage gefunden:
[PHP/MySQL] - zu einem beliebigen Datum einen Monat addieren
Beta-Tester
Pixelschubser
Threadstarter




Beiträge: 22

Erst mal ein freundliches "Hallo!" an euch alle.
Ich schreibe gerade an einem kleinen PHP-Projekt und stehe gerade mächtig auf'm Schlauch. Deshalb hab ich mich hier mal kurzerhand angemeldet.

Folgende Problematik:

In einer Tabelle steht ein Datum (date) - also z.B.: 2005-12-31 - soweit ist alles schön. Das eingetragene Datum ist weitgehend beliebig, kann also sowohl in ferner Zunkunft als auch einige Jahre in der Vergangenheit liegen. Spielt aber auch keine Rolle.
Das Datum habe ich ausgelesen und in einer Variablen abgespeichert.

Nun will ich zu diesem Datum eine beliebige Anzahl von Monaten addieren und dieses neue Datum (selbes Format wie oben - das ist wichtig) in einer Variablen ausgeben.

Genaue Anwendung ist folgende:
Ich will Almosene und laufende Kosten verwalten.
Ich habe dazu das Datum der ersten Fälligkeit und die Laufzeit in der Datenbank abgespeichert und will nun die Fälligkeit aller weiteren Raten ausrechnen.

Ist bestimmt nicht schwer, aber ich programmiere noch nicht so lange in PHP, MySQL ist für mich, über meine spärliche Ausbildung hinaus, auch noch Neuland und ich steh' da grad irgendwie im Wald.

Wäre super, wenn mir da jemand ne unkomplizierte Lösung oder einen Verweis auf ein verständliches Tutorial zu diesem Thema anbieten könnte.

Danke schon mal.

---
while ( time() < mktime(0,0,0,5,3,2006) )
{
echo "PHP-Depp";
}

  Profil   E-Mail   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

Daten solltest du in aller Regel als Timestamp spiechern. Dann geht das mit dem Addieren auch ganz einfach. Guck im PHP-Manual einfach mal nach date und time.

  Profil   Editieren   Zitieren
Beta-Tester
Pixelschubser
Threadstarter




Beiträge: 22

Timestamps :? :? - auch mit dem besten Maunal bin ich noch nicht hinter die korrekte Syntax gestiegen, geschweige denn, wie man damit rechnet. :?

Gibts da was für ganz Doofe?

Ausserdem will ich doch blos das Datum.
Das alleine kann ich besser handlen.

Ich gebe in meiner Eingabe Maske ja auch nur Tag, Monat und Jahr ein.
Für mich, der bei Timestamp ne Blockade in irgendeiner Hirnwindung hat, isses einfacher, da noch ein paar "-" zwischen zusetzen und das dann als Datum abzuspeichern.

Ausserdem gibts da ne ganz bequeme MySQL-Funktion, mit der ich ratzfatz zwei Daten (als date formatiert) vergleichen kann und als Ergebnis die Differenz in Tagen bekomme. Damit lässt sich prima arbeiten.

Aber ich versuche es mal mit Timestamps.


---
while ( time() < mktime(0,0,0,5,3,2006) )
{
echo "PHP-Depp";
}

Diese Nachricht wurde geändert von: Beta-Tester
  Profil   E-Mail   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

http://de3.php.net/time

Sind einfach die Sekunden ab einem bestimmten Tag als Integer. Wenn du z.B. nen Tag draufrechenen willst, addierst du halt 60*60*24.

Zum umformen in lesbare Daten: http://de3.php.net/manual/de/function.date.php

Und um aus einem lesbaren Datum eine Timestamp zu machen: http://de3.php.net/manual/de/function.strtotime.php

  Profil   Editieren   Zitieren
Beta-Tester
Pixelschubser
Threadstarter




Beiträge: 22

Vielen Dank für die Anregung. Werde ich in einem nächsten Projekt vielleicht drauf zurückkommen.

Jetzt hab ich die Sache aber erst mal ganz bequem über MySQL (ADDDATE) abgewickelt.

Nachdem ich mit Verzweifelung feststellen musste, dass mir MySQL den Timestamp nicht als Timestamp ausgibt, sondern wie bei DATE im Format YYYY-MM-TT, und ich diese Ausgabe hätte noch umständlich in einen UNIX-Timestamp umwandeln müssen, bin ich bei meiner bisherigen Version geblieben.

Funktioniert auch

---
while ( time() < mktime(0,0,0,5,3,2006) )
{
echo "PHP-Depp";
}

  Profil   E-Mail   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

Timestamps sind einfache Integers.

  Profil   Editieren   Zitieren
Beta-Tester
Pixelschubser
Threadstarter




Beiträge: 22

achso...


...ich hätte einfach nur ein INT-Feld erstellen brauchen und hätte dort den Timestamp reingeschrieben ??

Ich hab den TYP immer auf TIMESTAMP gesetzt und mich gewundert, warum das alles nicht klappt

---
while ( time() < mktime(0,0,0,5,3,2006) )
{
echo "PHP-Depp";
}

  Profil   E-Mail   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

Einfach int ;)

  Profil   Editieren   Zitieren
Beta-Tester
Pixelschubser
Threadstarter




Beiträge: 22

Danke.
Wieder was gelernt.

Und ich dachte immer, ich sei der Einzige auf der Welt, der zu blöd für Timestamps ist.

Bin natürlich nie auf die Idee gekommen, dass ein MySQL-Timestamp nichts mit nem PHP-Timestamp zu tun hat.

Ich hänge mir jetzt für die nächsten zwei Wochen das Deppen-Schild um den Hals.

Meine MySQL-Lösung finde ich aber trotzdem irgendwie etwas eleganter :-p

---
while ( time() < mktime(0,0,0,5,3,2006) )
{
echo "PHP-Depp";
}

Diese Nachricht wurde geändert von: Beta-Tester
  Profil   E-Mail   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

Kommt auf die Anwendung an...
Dann pack den Depp mal bitte in die Signatur

  Profil   Editieren   Zitieren
Beta-Tester
Pixelschubser
Threadstarter




Beiträge: 22



---
while ( time() < mktime(0,0,0,5,3,2006) )
{
echo "PHP-Depp";
}

  Profil   E-Mail   Editieren   Zitieren
TeX
Otto-Normal-Poster




Beiträge: 51

1: 
2: 
3: 
4: 
5: 
6: 
7:
$db_datum="2005-12-31";
$add_monate="5";

list($db_y,$db_m,$db_t)=explode("-",$db_datum);
$neues_datum=date("Y-m-t",mktime(0,0,0,$db_m + $add_monate,$db_t,$db_y));

echo $neues_datum;


;)

---
Ankauf leere Toner | Ankauf leere Tonerkartuschen

  Profil   E-Mail   Website   Editieren   Zitieren
 

Antworten
Forum » PHP & MySQL » [PHP/MySQL] - zu einem beliebigen Datum einen Monat addieren<...

Aktuelle Beiträge zur Hilfe im Forum für Homepage - [PHP/MySQL] - zu einem beliebigen Datum einen Monat addieren im Forum Homepage Hosting AntwortenLetztes Posting
Cybersicherheit für Unternehmen
in "PHP & MySQL"
3 18.11.2024 14:05 von Gaswer
Wirtschaftslage in der Ukraine
in "PHP & MySQL"
3 22.10.2024 15:04 von Gaswer
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji



Besucher : 8126531    Heute : 449     Gestern : 463     Online : 177     21.11.2024    14:22      2 Besucher in den letzten 60 Sekunden        
alle 30.00 Sekunden ein neuer Besucher
Nach oben