Muckel1986
Erfahrenes Mitglied
Guten Morgen zusammen,
eine Freundin von mir hat nun einen Partner gefunden, jedoch führen die beiden eine Fernbeziehung und können sich daher nicht immer sehen. Da sie durch die Gesundheit ein paar Konzentrationsschwierigkeiten hat, fragte sie mich, ob ich ihr ein Script basteln könne, welches die Treffen des Paares auflistet und dazu die Dauer berechnet und auch die Wartezeit zwischen den Treffen.
Der erste Versuch bezog sich lediglich auf ein Countdown Script. Dank eurer Hilfe habe ich mir dann schon das umgehen mit der Zeit in php ein wenig angeeignet und hoffe nun, dass ihr mir bei der letzten Verbesserung auch noch helfen könnt.
Das Script ist im Moment so aufgebaut, dass ich für jedes Treffen drei Variable definiere:
So kann zu jedem Treffen Datum und Uhrzeit angegeben werden und es wird gleich die Dauer des Treffens errechnet.
Im zweiten Teil gibt es dann die Berechnung der Wartezeit zwischen den einzelnen Treffen, welches ich so gelöst habe:
Das kleine Script soll dann auch ausgeben, wie lange es noch bis zu dem nächsten Treffen ist. Mir ist bewusst, dass dies nur bei dem Seitenaufruf oder dem Aktualisieren der Seite geschieht, doch das reicht aus. Umgesetzt habe ich das so:
Die letzte Berechnung ist dann die, dass ausgegeben werden soll, wie lange sich die beiden getroffen haben. Das habe ich so gelöst:
Nun komme ich zu meinem Problem. Am Ende von dem Script habe ich eine Tabelle, in der die einzelnen Treffen aufgelistet sind und damit auch die Dauer und die Wartezeit zum kommenden Treffen. Das gibt es hier zu sehen.
Die Tabelle habe ich im Moment mit einem WYSIWYG-Editor erstellt. Das hat aber den Nachteil, dass ich für jedes neue Treffen auch eine neue Zeile einfügen muss und in jener auch die leicht veränderte PHP-Variable.
Meine Variablen haben schon eine Fortlaufendezahl, damit ich so sehr einfach die entsprechende Zeilen kopieren konnte und nur noch die Zahl verändern braucht.
Meine Idee ist nun, dass ich mir die fortlaufende Nummerierung zu nutze mache und das Script so um stelle, dass die Dauer des Treffen, die Wartezeiten dazwischen und die Tabelle automatisch erzeugt wird. Das Pärchen ist nun bei dem 5. Treffen. Also dachte ich mir, dass ich am Anfang des Scriptes noch eine Variable setzte, die lediglich die fortlaufende Nummer des aktuellen Treffen enthält. Zum Beispiel also
Meine erste und wichtigste Frage wäre nun, wie ich in einer Variable noch eine Variable unterbringe. Also wie ich bei dieser Zeile
die Zahlen durch eine Variable ersetzten kann, ohne das es die restliche Variable "beschädigt".
Bei dieser Zeile muss ich eine Möglichkeit finden, wie ich es umsetzten kann, dass sie bis zur Anzahl der eingetragenen Variable (also der 5) wiederholt wird und das bei jeder wiederholung die Zahl 1 um 1 erhöht wird. Müsste für die Berechnung dann dieses erhalten:
Und genau in diesem Bereich muss ich mein Wissen erweitern und hoffe, dass ihr mir helfen könnt.
Insgesamt muss ich am Ende diese PHP-Code Zeilen abändern
Und dann noch die Tabelle.
Eine fertige Lösung möchte ich von euch nicht haben, sondern lieber Tipps, Hinweise und Ratschläge.
Denn ähnlich wie bei der guten Freundin habe auch ich einpaar gesundheitliche Baustellen, weshalb ich schon starke Schmerzmittel nehmen muss. Diese wirken sich auch auf meine Konzentration usw. aus, so dass ich mir manches zum wiederholten male aneignen muss oder es bei manchen Situationen nicht auf anhieb "klick" macht.
Aufgeben zählt aber nicht, denn man soll sich ja so viel vom Leben erhalten, wie es irgendwie geht. Daher hoffe ich, dass ihr Verständnis dafür habt.
Lieben Gruß
Tobias
eine Freundin von mir hat nun einen Partner gefunden, jedoch führen die beiden eine Fernbeziehung und können sich daher nicht immer sehen. Da sie durch die Gesundheit ein paar Konzentrationsschwierigkeiten hat, fragte sie mich, ob ich ihr ein Script basteln könne, welches die Treffen des Paares auflistet und dazu die Dauer berechnet und auch die Wartezeit zwischen den Treffen.
Der erste Versuch bezog sich lediglich auf ein Countdown Script. Dank eurer Hilfe habe ich mir dann schon das umgehen mit der Zeit in php ein wenig angeeignet und hoffe nun, dass ihr mir bei der letzten Verbesserung auch noch helfen könnt.
Das Script ist im Moment so aufgebaut, dass ich für jedes Treffen drei Variable definiere:
PHP:
// 1. Treffen
$treffen_1_start = strtotime("27.12.2010 14:02:00"); // Beginn
$treffen_1_ende = strtotime("08.01.2011 12:00:00"); // Ende
$treffen_1_dauer = (($treffen_1_ende - $treffen_1_start) / 86400); // Dauer
Im zweiten Teil gibt es dann die Berechnung der Wartezeit zwischen den einzelnen Treffen, welches ich so gelöst habe:
PHP:
// Wartezeit 1
$warten_1 = (($treffen_1_start - $kontakt) / 86400); // Zeit zw. Ersten Kontakt und 1. Treffen
// Wartezeit 2
$warten_2 = (($treffen_2_start - $treffen_1_ende) / 86400); // Zeit zwischen den Treffen
Das kleine Script soll dann auch ausgeben, wie lange es noch bis zu dem nächsten Treffen ist. Mir ist bewusst, dass dies nur bei dem Seitenaufruf oder dem Aktualisieren der Seite geschieht, doch das reicht aus. Umgesetzt habe ich das so:
PHP:
// Uebrige Zeit zum Treffen
$counter_5 = (($treffen_5_start - $heute) / 86400);
$counter_5_sec = abs($treffen_5_start - $heute); // Sekunden
$counter_5_min = intval($counter_5_sec / 60); // Minuten
$counter_5_sec %= 60; // Verhältnis zw sec und min
$counter_5_h = intval($counter_5_min / 60); // Stunden
$counter_5_min %= 60; // Verhältnis zw min und h
$counter_5_d = intval($counter_5_h / 24); // Tag
$counter_5_h %= 24; // Verhältnis h zu Tag
Die letzte Berechnung ist dann die, dass ausgegeben werden soll, wie lange sich die beiden getroffen haben. Das habe ich so gelöst:
PHP:
// Berechnen der Gesamt-Zeit unserer Treffen
$gesamt_haben = round(($treffen_1_dauer + $treffen_2_dauer + $treffen_3_dauer + $treffen_4_dauer + $treffen_5_dauer),2);
Nun komme ich zu meinem Problem. Am Ende von dem Script habe ich eine Tabelle, in der die einzelnen Treffen aufgelistet sind und damit auch die Dauer und die Wartezeit zum kommenden Treffen. Das gibt es hier zu sehen.
Die Tabelle habe ich im Moment mit einem WYSIWYG-Editor erstellt. Das hat aber den Nachteil, dass ich für jedes neue Treffen auch eine neue Zeile einfügen muss und in jener auch die leicht veränderte PHP-Variable.
Meine Variablen haben schon eine Fortlaufendezahl, damit ich so sehr einfach die entsprechende Zeilen kopieren konnte und nur noch die Zahl verändern braucht.
Meine Idee ist nun, dass ich mir die fortlaufende Nummerierung zu nutze mache und das Script so um stelle, dass die Dauer des Treffen, die Wartezeiten dazwischen und die Tabelle automatisch erzeugt wird. Das Pärchen ist nun bei dem 5. Treffen. Also dachte ich mir, dass ich am Anfang des Scriptes noch eine Variable setzte, die lediglich die fortlaufende Nummer des aktuellen Treffen enthält. Zum Beispiel also
PHP:
$aktuell = 5;
Meine erste und wichtigste Frage wäre nun, wie ich in einer Variable noch eine Variable unterbringe. Also wie ich bei dieser Zeile
PHP:
$treffen_1_dauer = (($treffen_1_ende - $treffen_1_start) / 86400); // Dauer
Bei dieser Zeile muss ich eine Möglichkeit finden, wie ich es umsetzten kann, dass sie bis zur Anzahl der eingetragenen Variable (also der 5) wiederholt wird und das bei jeder wiederholung die Zahl 1 um 1 erhöht wird. Müsste für die Berechnung dann dieses erhalten:
PHP:
$treffen_1_dauer = (($treffen_1_ende - $treffen_1_start) / 86400); // Dauer
$treffen_2_dauer = (($treffen_2_ende - $treffen_2_start) / 86400); // Dauer
$treffen_3_dauer = (($treffen_3_ende - $treffen_3_start) / 86400); // Dauer
$treffen_4_dauer = (($treffen_4_ende - $treffen_4_start) / 86400); // Dauer
$treffen_5_dauer = (($treffen_5_ende - $treffen_5_start) / 86400); // Dauer
Insgesamt muss ich am Ende diese PHP-Code Zeilen abändern
PHP:
<?php
// Vordefinierte Werte
// ===================
// Aktuelles Datum und aktuelle Uhrzeit mit dem Zeitstempel
$datum = date("d.m.Y"); // Aktuelles Datum
$zeit = date("H:i:s"); // Aktuelle Uhrzeit
$heute = mktime(); // Zeitstempel
// Variable mit der fortlaufenden Nummer des anstehenden Treffen
$naechstes = 5; // Zahl des anstehenden Treffen
// Zeitpunkte der Treffen mit Start, Ende und der Dauer
// ====================================================
// Erster Kontakt
$kontakt = strtotime("22.09.2010 14:34:00"); // Erster Kontakt auf gofeminin.de
// 1. Treffen
$treffen_1_start = strtotime("27.12.2010 14:02:00"); // Beginn
$treffen_1_ende = strtotime("08.01.2011 12:00:00"); // Ende
// 2. Treffen
$treffen_2_start = strtotime("16.02.2011 13:02:00"); // Beginn
$treffen_2_ende = strtotime("01.03.2011 12:00:00"); // Ende
// 3. Treffen
$treffen_3_start = strtotime("21.04.2011 16:05:44"); // Beginn
$treffen_3_ende = strtotime("26.04.2011 12:00:00"); // Ende
// 4. Treffen
$treffen_4_start = strtotime("01.06.2011 15:12:45"); // Beginn
$treffen_4_ende = strtotime("13.06.2011 11:41:55"); // Ende
// 5. Treffen
$treffen_5_start = strtotime("06.08.2011 11:41:00"); // Beginn
$treffen_5_ende = strtotime("20.08.2011 12:25:00"); // Ende
// Achtung, die folgenden sind nur aufgeführt, damit ich später nur das Datum und die Uhrzeit eintragen brauch
// 6. Treffen
$treffen_6_start = strtotime("01.09.2011 13:02:00"); // Beginn
$treffen_6_ende = strtotime("07.09.2011 12:00:00"); // Ende
// 7. Treffen
$treffen_7_start = strtotime("01.10.2011 13:02:00"); // Beginn
$treffen_7_ende = strtotime("07.10.2011 12:00:00"); // Ende
// Berechnung der dauer der jeweiligen Treffen
// ===========================================
$treffen_1_dauer = (($treffen_1_ende - $treffen_1_start) / 86400); // Dauer
// Berechnung der Wartezeiten
// ==========================
$warten_1 = (($treffen_1_start - $kontakt) / 86400); // Zeit zw. Ersten Kontakt und 1. Treffen
// Errechnen der aktuellen Zeit bis zum Treffen
// ============================================
// Uebrige Zeit zum Treffen
$counter_5 = (($treffen_5_start - $heute) / 86400);
$counter_5_sec = abs($treffen_5_start - $heute); // Sekunden
$counter_5_min = intval($counter_5_sec / 60); // Minuten
$counter_5_sec %= 60; // Verhältnis zw sec und min
$counter_5_h = intval($counter_5_min / 60); // Stunden
$counter_5_min %= 60; // Verhältnis zw min und h
$counter_5_d = intval($counter_5_h / 24); // Tag
$counter_5_h %= 24; // Verhältnis h zu Tag
// Berechnung der Gesamt Zeiten
// ============================
// Berechnen der Gesamt-Zeit unserer Treffen
$gesamt_haben = round(($treffen_1_dauer + $treffen_2_dauer + $treffen_3_dauer + $treffen_4_dauer + $treffen_5_dauer),2);
?>
Eine fertige Lösung möchte ich von euch nicht haben, sondern lieber Tipps, Hinweise und Ratschläge.
Denn ähnlich wie bei der guten Freundin habe auch ich einpaar gesundheitliche Baustellen, weshalb ich schon starke Schmerzmittel nehmen muss. Diese wirken sich auch auf meine Konzentration usw. aus, so dass ich mir manches zum wiederholten male aneignen muss oder es bei manchen Situationen nicht auf anhieb "klick" macht.
Aufgeben zählt aber nicht, denn man soll sich ja so viel vom Leben erhalten, wie es irgendwie geht. Daher hoffe ich, dass ihr Verständnis dafür habt.
Lieben Gruß
Tobias