Zurück   TT-NEWS Tischtennis Forum > Sonstiges & Service > TT-NEWS Serviceforen > "Die Kneipe" > Stammtisch
Registrieren Hilfe Kalender

Stammtisch Hier könnt Ihr über "Gott und die Welt", Politik, Fernsehen, Bücher, Musik und alles was Euch sonst interessiert diskutieren. Plaudern in lockerer Atmosphäre ;-)

Antwort
 
Themen-Optionen
  #1  
Alt 07.01.2011, 21:20
Benutzerbild von chr.flader
chr.flader chr.flader ist offline
Foren-Stammgast 1000
 
Registriert seit: 04.05.2001
Ort: Flensburg
Alter: 43
Beiträge: 1.899
chr.flader ist zur Zeit noch ein unbeschriebenes Blatt (Renommeepunkte ungefähr beim Startwert +20)
PHP Stichtage

Hallo zusammen,

hoffe und denke, dass hier sicherlich welche bei sind die auch PHP können ;-)

Ich habe jetzt angefangen und versucht die Stichtage zu berechnen.

Jetzt habe ich aber das Problem, dass man auch wenn man das Alter in einer Spielklasse erreicht hat, noch bis zum 30.06. in der Altersklasse spielen kann (Saisonende).

Wie kann ich jetzt in meinem Skript die Lösung herbeibringen, dass er bis zum 30.06. jemanden in einer Spielklasse zu lässt?!

Zitat:
//Hier wird das Datum umgewandelt
$teile_datum = explode("-", $geboren);

// print $teile_datum[0];
// print $teile_datum[1];
// print $teile_datum[2];


$geboren_jahr = $teile_datum[0]; // Teil1
$geboren_monat = $teile_datum[1]; // Teil2
$geboren_tag = $teile_datum[2]; // Teil3

//Alter berechnen
$jetzt = mktime(0,0,0,date("m"),date("d"),date("Y"));
$geburt = mktime(0,0,0,$geboren_monat,$geboren_tag,$geboren_jahr);
$age = intval(($jetzt - $geburt) / (3600 * 24 * 365));



$geboren = $geboren_tag . "." . $geboren_monat . "." . $geboren_jahr;
// print $geboren_in;

$adress = $adr_id . " / " . $name . " / " . $geboren . " " . $age ." " . "Jahre";

//Altersklasse berechnen:
$herren = 19;
$jungen = 18;
$schueler_a = 15;
$schueler_b = 13;
$schueler_c = 11;


if ($age > $schueler_a && $age < $herren) {
echo "Jungen";

} elseif ($age > $schueler_b && $age < $jungen) {
echo "Schueler A";

} elseif ($age > $schueler_c && $age < $schueler_a) {
echo "Schueler B";

} elseif ($age <= $schueler_c) {
echo "Schueler C";

} else {
echo "Herren";
}
Mit Zitat antworten
  #2  
Alt 08.01.2011, 02:16
Clausthaler Clausthaler ist offline
Vorhand, nein danke!
Foren-Stammgast 500
 
Registriert seit: 21.12.2000
Ort: am park
Alter: 46
Beiträge: 511
Clausthaler ist zur Zeit noch ein unbeschriebenes Blatt (Renommeepunkte ungefähr beim Startwert +20)
Stichtage

Würde hier mit Stichtagen rechnen anstatt Datumsbestandteile zu vergleichen.

z.B. so:

$ATeam = array('Tom' => '29.10.1987', 'Dick' => '30.07.1997', 'Harry' => '20.11.1999');

foreach ($ATeam as $Name => $geboren) {
//Hier wird das Datum umgewandelt
$teile_datum = explode(".", $geboren);
$birthdate = mktime(0, 0, 0, $teile_datum[1] , $teile_datum[0], $teile_datum[2]);

//Altersklasse berechnen:
switch ($birthdate) {

case ($birthdate > mktime(0, 0, 0, 6, 30, date('Y') - 11)):
$Altersklasse = "Schueler C";
break;

case ($birthdate > mktime(0, 0, 0, 6, 30, date('Y') - 13)):
$Altersklasse = "Schueler B";
break;

case ($birthdate > mktime(0, 0, 0, 6, 30, date('Y') - 15)):
$Altersklasse = "Schueler A";
break;

case ($birthdate > mktime(0, 0, 0, 6, 30, date('Y') - 18)):
$Altersklasse = "Jungen";
break;

// ggf. weitere Altersklassen

default:
$Altersklasse = "Herren";
break;
}
echo $Name . ' spielt: ' . $Altersklasse . '<br>';
}


P.S.: Ggf noch auf Fencepost error prüfen

Grüße
Mit Zitat antworten
  #3  
Alt 08.01.2011, 16:08
Benutzerbild von chr.flader
chr.flader chr.flader ist offline
Foren-Stammgast 1000
 
Registriert seit: 04.05.2001
Ort: Flensburg
Alter: 43
Beiträge: 1.899
chr.flader ist zur Zeit noch ein unbeschriebenes Blatt (Renommeepunkte ungefähr beim Startwert +20)
AW: PHP Stichtage

Danke für die Hilfe. Ich muss mir das jetzt erstmal in Ruhe angucken. So gut kenne ich mich damit noch nicht aus. Verstehe bis jetzt nur 60 % von dem was du geschrieben hast.

Aber schon mal besten Dank!

Christian
Mit Zitat antworten
  #4  
Alt 15.06.2011, 14:00
Benutzerbild von chr.flader
chr.flader chr.flader ist offline
Foren-Stammgast 1000
 
Registriert seit: 04.05.2001
Ort: Flensburg
Alter: 43
Beiträge: 1.899
chr.flader ist zur Zeit noch ein unbeschriebenes Blatt (Renommeepunkte ungefähr beim Startwert +20)
AW: PHP Stichtage

Hi,

habe ich nicht wirklich verstanden deinen Tipp. Zumal ich meine Daten ja aus der MYSQL beziehe.

Hast du vielleicht noch nen Tipp, wie ich erstmal mit meiner Variante zum richtigen Ergebnis komme?

Christian
Mit Zitat antworten
  #5  
Alt 15.06.2011, 15:21
Clausthaler Clausthaler ist offline
Vorhand, nein danke!
Foren-Stammgast 500
 
Registriert seit: 21.12.2000
Ort: am park
Alter: 46
Beiträge: 511
Clausthaler ist zur Zeit noch ein unbeschriebenes Blatt (Renommeepunkte ungefähr beim Startwert +20)
AW: PHP Stichtage

Hallo,

nehme mal an, dass du mich meinst:

Wo die Daten herkommen ist ja eigentlich egal, hatte das Datumsformat analog zu deinem Beispiel genommen.

Vorschlag war nicht mit Datumsbestandteilen oder ganzen Jahreszahlen rumzurechnen, da bei Altersklassen ja die Stichtage (Unixtimestamps) massgeblich sind:

//Geburtsdatum
$geburt = Geburtsdatum_als_Unixtimestamp

//Altersklasse berechnen:
$jungen = mktime(0, 0, 0, 6, 30, date('Y') - 18);
$schueler_a = mktime(0, 0, 0, 6, 30, date('Y') - 15)
$schueler_b = mktime(0, 0, 0, 6, 30, date('Y') - 13):
$schueler_c = mktime(0, 0, 0, 6, 30, date('Y') - 11);

switch ($geburt) {
case ($birthdate > schueler_c):
echo "Schueler C";
break;

case ($birthdate > schueler_b):
echo "Schueler B";
break;

case ($birthdate > schueler_a):
echo "Schueler A";
break;

case ($birthdate > $jungen):
echo "Jungen";
break;

// ggf. weitere Altersklassen

default:
echo "Herren";
break;

}


Einfacher geht's nicht.
Mit Zitat antworten
  #6  
Alt 15.06.2011, 18:47
Benutzerbild von chr.flader
chr.flader chr.flader ist offline
Foren-Stammgast 1000
 
Registriert seit: 04.05.2001
Ort: Flensburg
Alter: 43
Beiträge: 1.899
chr.flader ist zur Zeit noch ein unbeschriebenes Blatt (Renommeepunkte ungefähr beim Startwert +20)
AW: PHP Stichtage

Danke, ja du warst gemeint ;-)

Die aktuelle Alterklasse soll allerdings in der Adressenliste angezeigt werden. Je nachdem, wann er Geburtstag hat.

So ganz verstehe ich jetzt nicht, was ich bei:

Zitat:
Geburtsdatum_als_Unixtimestamp
eintragen muss ...

Danke

Christian
Mit Zitat antworten
Antwort

Lesezeichen

« Vorheriges Thema | Nächstes Thema »

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Stichtage gummibär Schiedsrichter- und Regelbereich & Rechtliches 1 06.06.2003 19:46
Stichtage TT-Meister allgemeines Tischtennis-Forum 7 15.07.2002 20:19
Stichtage Dicker Westdeutscher TTV 1 10.06.2002 17:59
Stichtage errechnen! chr.flader allgemeines Tischtennis-Forum 0 14.04.2002 19:34


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:35 Uhr.


Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©1999 - 2024, vBulletin Solutions, Inc.
www.TT-NEWS.de - ein Angebot der Firma ML SPORTING - Ust-IdNr. DE 190 59 22 77