Example #1
0
$n = 0;
$s = 0;
$anagrafiche = Utente::conta([]);
$volontari = Utente::filtra([['stato', VOLONTARIO]]);
$sesso = ['M' => 0, 'F' => 0];
$eta = [[[0, 30], 0], [[30, 41], 0], [[41, 51], 0], [[51, 66], 0], [[66, 999], 0]];
$anzianita = [[[0, 1], 0], [[1, 5], 0], [[5, 10], 0], [[10, 21], 0], [[21, 30], 0], [[30, 999], 0]];
$ora = new DateTime();
foreach ($volontari as $v) {
    $ingresso = $v->ingresso();
    if (!$ingresso) {
        $s++;
        continue;
    }
    $n++;
    $sesso[Utente::sesso($v->codiceFiscale)]++;
    foreach ($eta as &$_e) {
        $min = $_e[0][0];
        $max = $_e[0][1];
        $e = $v->eta();
        if ($e >= $min && $e < $max) {
            $_e[1]++;
        }
    }
    foreach ($anzianita as &$_e) {
        $min = $_e[0][0];
        $max = $_e[0][1];
        $diff = $ora->diff($ingresso);
        if ($diff->y >= $min && $diff->y < $max) {
            $_e[1]++;
        }
Example #2
0
 public function anzianitaMembri($stato = MEMBRO_VOLONTARIO)
 {
     $q = $this->db->prepare("\n            SELECT \n                appartenenza.inizio, anagrafica.codiceFiscale\n            FROM  \n                anagrafica, appartenenza\n            WHERE \n                anagrafica.id = appartenenza.volontario\n            AND\n                appartenenza.comitato = :comitato\n            AND\n                appartenenza.stato = :stato");
     $q->bindParam(':comitato', $this->id);
     $q->bindParam(':stato', $stato);
     $q->execute();
     $r = [];
     while ($k = $q->fetch(PDO::FETCH_NUM)) {
         $sesso = Utente::sesso($k[1]);
         $r[] = ['ingresso' => $k[0], 'sesso' => $sesso];
     }
     return $r;
 }