durschschnittsalter Mod erstellen

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt um einen neuen Mod zu entwicklen, geht's in phpBB 2.0: Mods in Entwicklung weiter.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
TiCar
Mitglied
Beiträge: 36
Registriert: 08.05.2003 12:43

durschschnittsalter Mod erstellen

Beitrag von TiCar »

Hi,

aufbauend auf dem Birthday Mod würde ich mir gern eine Erweiterung des Statistikmods erstellen wollen, der mir das Durchschnittsalter des Boards anzeigt, bzw. verschiedene Kriterien/Verteilungen ausgibt.

Soweit ich das sehe werden die Geburtstage in der Datenbank immer die Tage von 01.01.1970 an gerechnet abgelegt.

D.h. hat man am 13.03.1970 Geburtstag, dann steht in der Datenbank 71 für 71 Tage, Entsprechend für den 14.03.1972 wären es dann 803 Tage.

D.h. der Wert in der DB rechnet sich wie folgt aus:
Unixtimestamp der beiden Werte:
01.01.1970 00:00:00 = 0
13.03.1970 00:00:00 = 6134400

6134400/60sek = 102240
102240/60min = 1704
1704/24h = 71

Bis dahin einfach denke ich.

Wie errechnet sich das korrekte Alter eines Users:
Today = 1192752000
13.03.1970 00:00:00 = 6134400

1. Ansatz:
1192752000-6134400 = 1186617600
1186617600/60/60/24 = 13734 Tage
Da ich aber nicht über die Schaltjahre bescheid weiß, bringt mich das relativ wenig weiter denke ich, d.h. hier ist mit diesem Ansatz schluß, es seidenn jemand weiß eine einfach Lösung per PHP.

2. Ansatz (rein theoretisch, syntaktisch nicht korrekt was php angeht):
years = year(today() - year(birthday['user'])
months = month(today()) - month(birthday['user'])
if( months < 0 ) { years = years - 1 }
if( months = 0 ) {
if ( day(today()) - day(birthday['user']) < 0 ) { years = years -1 }
}

sum(years)/anzahl der ausgewerten User = Durchschnittsalter

Hat an dieser Stelle jemand eine Idee ob das auch einfacher geht?

wenn nicht, würde ich diese Berechnung als Funktion in php bauen.

So weiter im text mit der Altersverteilung, denn das wäre bisher nur Grundlagen gewesen.

Aufbauen auf diese Funktion würde ich entsprechend weiter vorgehen:
age[]=0; // Array von über die möglichen Altersgruppen 1-99 Jahre
$sql = 'SELECT user_birthday FROM phpbb_users WHERE user_active = 1 AND user_birthday != 999999';
if ($result = sql_query($sql) ) {
foreacht $row =sql_fetchrow($result) {
$age[get_age($row['user_birthday'])]++; //keine Ahnung ob sowas geht mit Arrays?!?
}
}

foreach $i = 1; $i < 99; $i++ {
echo "Anzahl ". $i ." jährigen: " + $age[$i];
}

Bitte nicht hauen wenn die php Syntax grotten verkehrt ist (das weiß ich, war auch nur asu dem Kopf so rausgetippt), das war momentan auch nicht mein Hauptaugenmerk, sondern es ging mir mehr die grundsätzliche Lösung. Gerade mit Array hab ich keine Ahnung wie man eine Aufsummiernug geschickt und clever lösen könnte.

Wenn natürlich jemand von einem entsprechenden Mod schon weiß immer her damit :)
Gruß,
Lars
Andi1111
Mitglied
Beiträge: 1301
Registriert: 26.05.2006 13:21
Wohnort: Berlin
Kontaktdaten:

Beitrag von Andi1111 »

wie wärs denn damit?
http://www.phpbbhacks.com/download/477

da ist das modul für das durchschnittsalter dabei, für den alten statistik mod habe ich das auch noch irgendwo :)
TiCar
Mitglied
Beiträge: 36
Registriert: 08.05.2003 12:43

Beitrag von TiCar »

öhm, kannst mal übersetzen welcher Eintrag der für Alter etc. ist, das würde die Suche deutlich erleichtern *urgs* :D

Edit: hab da was gefunden
-> http://www.phpbb2.de/dload.php?action=file&file_id=192
Gruß,
Lars
Antworten

Zurück zu „phpBB 2.0: Mod Suche/Anfragen“