Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- [PHP & MySQL] Pferd altern lassen ? || Php (https://www.gegen-bilderklau.net/thread.php?threadid=155596)


Geschrieben von Kimi. am 15.05.2009 um 16:18:

  Pferd altern lassen ? || Php

Joa,

ich bins mal wieder ^^

Also ich habe eine Frage zu PHP & Mysql. (Ich denke mal das Mysql was damit zutun hat)
Ich hab mir hier schon einige Thread's durchgelesen bin aber nie zu einem vernünftigen Ergebnis gekommen.

Wie lasse ich meine Pferde mit PHP alle 30 Tage um ein Jahr altern ?

Am besten noch das Jahre & Tage angezeigt werden
(z.B. 8 Jahre 23 Tage)

Kann mir das vielleicht jemand ruhig und Langsam erklären weil bin nich so das Ass in PHP ^^
Wäre super



Geschrieben von PLUSQUAMPERFEKT am 15.05.2009 um 16:35:

 

Du hast ja ein Erstellungsdatum des Pferdes, quasi sein Geburtstag.
Am besten als Timestamp, d.h. in Sekunden gerechnet vom 01.01.1970 bis zum Tag des Erstellens. Jetzt wären es also grad 1242397679 Sekunden.

Den Timestamp bekommst du mit time()

Den trägst du also als Geburtstag deines Pferdes ein.
Damit kann man wunderbar rechnen.

Um jetzt die Zeit seit dem Geburtstag in vernünftige Werte (Jahre, Wochen, etc.) zu bekommen, musst du Differenz zwischen Geburtstag und heute ermitteln, in Sekunden versteht sich.

Also,

heute
MINUS
Geburtstag aus der Datenbank

Dann hast du die Differenz.

30 Tage sind 2592000 Sekunden.

Teile jetzt die Differenz DURCH 2592000 und du hast die Monate (in unserem Falle die fiktiven Jahre.)

Soviel zur Theorie. großes Grinsen

Soweit verstanden?



Geschrieben von Kimi. am 15.05.2009 um 16:40:

 

PLUSQUAMPERFEKT:

Joa verstanden schon was du meinst, aber "wo" ich das einfüge in meinen Code noch nicht. Muss ich das in meine MySql-Tabelle mit einbinden und wenn ja, wie ?

AnnSo:

Ja, ich sagte ja "sooo" ne Leuchte bin ich auch noch nicht in Php und deswegen wäre es hilfreich wenn mir jemand einen Code (ein Beispiel) reichen könnte was ich nutzen könnte und sagt "wo" es eingefügt wird und was ich sonst noch ändern muss (z.B. in der MySql-Tabelle)



Geschrieben von Kimi. am 15.05.2009 um 16:43:

  RE: Pferd altern lassen ? || Php

Zitat:
Original von Blondi91

Ich hab mir hier schon einige Thread's durchgelesen bin aber nie zu einem vernünftigen Ergebnis gekommen.



Geschrieben von PLUSQUAMPERFEKT am 15.05.2009 um 16:43:

 

Du musst dir eine Spalte in deiner MySQL Tabelle einfügen, welche du geburtstag nennst.

Als Typ nimmst du int und als Länge 11.

In dem Augenblick, wo das Pferd angelegt wird, schreibst du den aktuellen Timestamp in die DB.

Hast du schon Quellcode für die SQL Query?
Wenn dann poste mal bitte.



Geschrieben von Kimi. am 15.05.2009 um 16:47:

 

Zitat:
Original von PLUSQUAMPERFEKT
In dem Augenblick, wo das Pferd angelegt wird, schreibst du den aktuellen Timestamp in die DB.

Hast du schon Quellcode für die SQL Query?
Wenn dann poste mal bitte.



2 Fragen großes Grinsen

(oh man iwie bin ich dumm) xDD


Timestamp -> Was meinste damit ? Die Sekunden des heutigen Tages oder was?

SQL Query -> Was ist das ? xD Kenn es vllt unter nem anderen Namen aber nit so ^^



Geschrieben von Kimi. am 15.05.2009 um 16:49:

  RE: Pferd altern lassen ? || Php

Zitat:
Original von AnnSo
Zitat:
Original von Blondi91
Zitat:
Original von Blondi91

Ich hab mir hier schon einige Thread's durchgelesen bin aber nie zu einem vernünftigen Ergebnis gekommen.

dann musts du halt nen bisschen mehr suchen Augenzwinkern hier gibt esganz bestimmt son code Augenzwinkern geht halt nich alles von jetzt auf gleich!


Ja das weiß ich AnnSo...
Aber wenn ich schon sage das ich nichts gescheites Gefunden habe was ich verstehe bitte ich ja auch hier um Hilfe.



Geschrieben von PLUSQUAMPERFEKT am 15.05.2009 um 16:56:

 

OKAY... smile

Timestamp -> Was meinste damit ? Die Sekunden des heutigen Tages oder was?

JA, wenn der Timestamp von jetzt, dann alle Sekunden von 01.01.1970 bis heute.

<?= time()?>


SQL Query -> Was ist das ? xD Kenn es vllt unter nem anderen Namen aber nit so ^^

Wenn du etwas in deine Datenbank einträgst, also per PHP-Skript, dann steht doch dort im Quellcode etwas wie:

$sql->Query ("INSERT ... ... ");

DAS ist ein SQL Befehl.
Das heisst, das Skript weist die Datenbank an, was sie zu machen hat, wie zum Beispiel einen neuen Eintrag anlegen.

Augenzwinkern



Geschrieben von Kimi. am 15.05.2009 um 17:00:

 

Weshalb unbedingt von 01.01.1970 ? xD
Tut mir leid wenn ich soviel Frage unglücklich

Ja also der Befehl von der Tabelle meinst du ... (hab ja ne Tabelle) aber wo find ich da den Befehl *such*



Geschrieben von PLUSQUAMPERFEKT am 15.05.2009 um 17:04:

 

Ähm ich glaube, ich bräuchte doch erstmal grundlegende Informationen über dein Projekt. Augen rollen

Zum Timestamp soviel:

http://de.wikipedia.org/wiki/Zeitstempel



Geschrieben von Kimi. am 15.05.2009 um 17:05:

 

Haste vielleicht Msn oder Icq? dann könnten wir das so klären oder über Pn xD

Könnte ich dir auch nen Link schicken mal von der Seite bei mir und so.



Geschrieben von Maina am 15.05.2009 um 17:40:

 

Wenn das mit "x Jahre & y Tage" sein soll, ist der Timestamp doch etwas unpraktisch, oder?

Ich sag dir jetzt mal eben, wie das konzepttechnisch aussieht, wenn du noch Fragen hast, kannste jederzeit fragen. großes Grinsen

Du hast 2 Spalten in der Tabelle, einmal Alter und dann Tage.
Dann schreibst du ein simples Script, dass jeden Tag von Cronjob aufgerufen wird. In dem Script wird der Tage-Wert jedes Mal um 1 erhöht. Gleichzeitig wird überprüft, ob der Tage-Wert über/gleich 30 ist, und wen ja, wird Alter um 1 hochgesetzt, Tage wieder auf 0 und fertig. smile

Der Vorteil daran ist, dass du den Cronjob jederzeit deaktivieren kannst, bspw wenn dein Hof in Pause geht oder so.


Forensoftware: Burning Board, entwickelt von WoltLab GmbH