Antworten auf deine Fragen:
Neues Thema erstellen

Amtszeit abfragen

JPS

Nicht mehr ganz neu hier

Aaaaalsooo noch mal:
Ich nenne diese n zu m Tabelle jetzt person_in_amt
Diese hat die Felder:
id_person | id_amt | von | bis

jetzt machst einen Eintrag, wenn einer ein amt Antritt:
z.b.
id_person | id_amt | von | bis
47 | 3 | 47110815| 0
Kleiner Hilfe alle aktiven Amtsinhaber haben dann bei bis ne 0.
Wenn der jenige jetzt ausscheidest machst du ein Update des Datensatzes
id_person | id_amt | von | bis
47 | 3 | 47110815| 8151345

Thats it.
 

Phips_CH

Noch nicht viel geschrieben

nein eben nicht. (Thats it)

Die Tabelle hab ich angepasst. Nun geht es noch um die abfrage der Amtsdauer(n)
Ich hab ja mehrere Datensätze, wo die selbe Person drinstehen kann, aber das Amt geändert hat.

Wenn ich nur einen Datensatz habe pro Person ist das nicht das Problem.

Wenn zum Beispiel eine Person mal Aktuar war und danach Vicepräsident und jetzt Präsident ist, sind das drei Datensätze.
Nun möchte ich die Amtsdauer aller drei Datensätze abfragen. Denn die Amtszeiten werden der Aktivzeit im Verein um die Hälfte angerechnet.
Damit ich das kann, muss ich eine History machen.

Verstehst du was ich meine?

Gruss
Phips_CH
 

JPS

Nicht mehr ganz neu hier

Er hat es gelöst, aber nicht verstanden.
Ich gehe jetzt mal deinen Fall nach, den Du geschildert hast.
Eine Person Dieter mit der id_person=5 und Du willst Ämter und Dauer dieser Person haben und ich lasse bewusst JOINS zu andere table weg:
"SELECT * FROM person_in_amt WHERE id_person=5 ORDER BY von"

Das liefert dir jetzt 3 Datensätze als Ergebnis:
1)
id_person | 5
id_amt | 3 (vielleicht Aktuar)
von | 47110815
bis | 55555555

2)
id_person | 5
id_amt | 2 (vielleicht Vizepräsi)
von | 5666666
bis | 5777777

2)
id_person | 5
id_amt | 1 (vielleicht Präsident)
von | 5888888
bis | 0


PHP:
// Amtszeit während der Ergebnisabarbeitung
// $pia - da Persin in Amt
while ($pia = $result->fetch_assoc()) {
if ($pia['von']<=$pia['bis'])
{
// Amtszeit des bereits beendeten Amtes
$amtszeit = $pia['bis']-$pia['von'];
}
else
{
// Amtszeit des aktiven Amtes
$amtszeit=time()-$pia['von'];
}

}
 

Duddle

Posting-Frequenz: 14µHz

Die Logik kannst du auch in MySQL abbilden:
Code:
SELECT sum(zeit) FROM
  (
    SELECT IF(bis=0,999,bis)-von as zeit
    FROM besetzt
    where id_person=5
  ) tab_zeiten
Wobei das 999 dann ein NOW() o.ä. je nach Datentyp ist.


Duddle
 

Phips_CH

Noch nicht viel geschrieben

Hallo zusammen

Ihr versteht mich glaub nicht ganz.
Diese Abfrage hab ich. Wenn jemand ein Amt angetreten hat und wieder zurückgetreten ist. Das ist die einfachste Variante.

Nun kann möchte ich die Amtszeit abfragen, wenn bei zurückgetreten NULL steht, möchte ich da die aktuelle Jahreszahl einfügen. Und mit dieser Zahl rechnen. Denn diese Personen sind ja auch noch im Amt.

Und nun kann es sein, dass eine Person mehrere Ämter ausgeübt hat. Diese möchte ich zusammenzählen.
Die Summe dieser Amtszeit geteilt durch 2 wir dann der aktiven Zeit im Verein angerechnet.

Vielen Dank

Gruss
Phips_CH
 

JPS

Nicht mehr ganz neu hier

Willst Du nur das aktuelle Jahr zum rechnen haben, gibt Dir doch PHP jede Menge Sachen an die Hand, z.b.:
PHP:
$aktuellesJahr=intval(date('Y'));
$aktuellerMonat=intval(date('n'));
$aktuellerTag=intval(date('j'));
Willst Du jetzt die echte Differenz der Amtszeit von Antrittsdatum bis jetzt ausrechnen hast es ein wenig schwerer aber auch kein Ding.
PHP:
$antritt=new DateTime();
$antritt->setTimestamp($starttimestamp_aus_Datenbank);
$jetzt=new DateTime();
$diff=$jetzt->diff($antritt);
Das gibt dir ein DateInterval Object $diff zurück mit
[y] => Jahre
[m] => Monate
[d] => Tage
[h] => Stunden
=> Minuten
=> Sekunden
[days] => Gesamt Tage
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.564
Beiträge
1.538.064
Mitglieder
67.487
Neuestes Mitglied
MichaelSEivy
Oben