← Back
Editing: stat_presenze.php
<?php ###___###___###___###___###___###___###___###___###___###___###___###___### ### SmaDIB: Smart Database Interface Builder 1.0.b1 ### ### by Smartmedia 2000 http://www.smartmedia2000.it/ ### ### info email: smadib@smartmedia2000.it ### ###___###___###___###___###___###___###___###___###___###___###___###___### require_once ("../funct.php"); require_once ("sess.php"); require_once ("conn.php"); $ajCal = "y"; require_once ("../lan_it.php"); $data_in = $_REQUEST['data_in'] ? $_REQUEST['data_in'] : date ("d/m/Y"); $data_fi = $_REQUEST['data_fi'] ? $_REQUEST['data_fi'] : date ("d/m/Y"); $ptitolo = "Statistiche presenze"; require_once ("testacoda.php"); $query = new doQuery (); $presTot = 0; $arrTot = 0; $arPers = array (); $ptitolo.= "<h3>da mezzanotte del <input type=\"text\" id=\"data_in\" name=\"data_in\" value=\"".$data_in."\" size=\"12\" /> a mezzanotte del <input type=\"text\" id=\"data_fi\" name=\"data_fi\" value=\"".$data_fi."\" size=\"12\" /> <input type=\"submit\" value=\"Mostra\" /></h3>"; $urlParam = "?data_in=".$data_in."&data_fi=".$data_fi; list ($gIn, $mIn, $aIn) = explode ('/', $data_in); list ($gFi, $mFi, $aFi) = explode ('/', $data_fi); $t = mktime (0,0,0,$mIn,$gIn,$aIn); while ($t < mktime (0,0,0,$mFi,$gFi,$aFi)) { $data = date ("Y-m-d", $t); $sql = "SELECT `comuni`.`targa`, `stati`.`stato_it`, `stato_res`, `id_persona`, `id_contratto`, `presenze`.`data_in`, `contratti`.`tipo`, `contratti`.`numero`, `tipo_contr`, `contratti`.`stato`, `id_ospitante`, `province`.`provincia` FROM `province`, `comuni`, `stati`, $wc2p AND `comune_res` = `comuni`.`id` AND `stato_res` = `stati`.`id` AND `province`.`targa` = `comuni`.`targa` AND `presenze`.`data_in` <= '".$data." 23:59:59' AND `presenze`.`data_in` NOT LIKE '0000%' AND (`presenze`.`data_out` > '".$data." 23:59:59' OR `presenze`.`data_out` LIKE '0000%' ) ORDER BY `provincia`, `presenze`.`id`"; $rows = $query->freeQuery ($sql, 0); foreach ($rows as $row) { # tipologia contratto #tipologiaAr[]; # per contare le persone uniche if (!array_search ($row->id_persona, $arPers)) $arPers[] = $row->id_persona; $presTot++; # presenze totali $presTp[$row->tipo]++; # presenza per tipo sistemaz $presTpC[$row->tipo_contr]++; # presenza per tipo contratto # residenza italia if ($row->stato_res == 120) { $presResid[$row->provincia]++; $presResidTp[$row->provincia][$row->tipo]++; $presResidTpC[$row->provincia][$row->tipo_contr]++; } else { # residenza estero $presResidS[$row->stato_it]++; $presResidSTp[$row->stato_it][$row->tipo]++; $presResidSTpC[$row->stato_it][$row->tipo_contr]++; } if ($data == dateNoTime ($row->data_in)) { $arrTot++; # arrivi totali $arrTp[$row->tipo]++; # arrivi per tipo sistemaz $arrTpC[$row->tipo_contr]++; # arrivi per tipo contratto } } # per le occupazioni strutture $sqlS = "SELECT `id_contratto`, `presenze`.`data_in`, `contratti`.`numero`, `contratti`.`stato` FROM $wc2p AND `presenze`.`data_in` <= '".$data." 23:59:59' AND `presenze`.`data_in` NOT LIKE '0000%' AND (`presenze`.`data_out` > '".$data." 23:59:59' OR `presenze`.`data_out` LIKE '0000%' ) GROUP BY `contratti`.`id` ORDER BY `contratti`.`numero"; $rowsS = $query->freeQuery ($sqlS, 0); foreach ($rowsS as $rowS) { $numS = explode (" ", $rowS->numero)[0]; $presTpS[$numS]++; } $t+= 3600*24; } foreach ($tipoAr as $nm=>$tp) { if ($nm>1) { #echo $presTpS[$tp]." ".$tp; $tipoPrS.= "<td align=\"center\">".$presTpS[$tp]."</td>"; } } # tipi in testata e valori $presTp[1] = $presTpC[1]; $arrTp[1] = $arrTpC[1]; foreach ($tipoAr as $nm=>$tp) { if ($nm>1) { $tipoHd.= "<td align=\"center\"><b>".$tp."</b></td>"; $tipoPr.= "<td align=\"right\">".$presTp[$nm]." <i>".calcPerc ($presTp[$nm], $presTot)."%</i></td>"; $tipoArr.= "<td align=\"right\">".$arrTp[$nm]." <i>".calcPerc ($arrTp[$nm], $arrTot)."%</i></td>"; $presTp[1]-= $presTp[$nm]; $arrTp[1]-= $arrTp[$nm]; } } # calcolo GG diverso $tipoHd.= "<td align=\"center\"><b>GG</b></td>"; $tipoPr.= "<td align=\"right\">".$presTp[1]." <i>".calcPerc ($presTp[1], $presTot)."%</i></td>"; $tipoArr.= "<td align=\"right\">".$arrTp[1]." <i>".calcPerc ($arrTp[1], $arrTot)."%</i></td>"; foreach ($tipoContrAr as $nm=>$tp) { $tipoHd.= "<td align=\"center\"><b>".$tp."</b></td>"; $tipoPr.= "<td align=\"right\">".$presTpC[$nm]." <i>".calcPerc ($presTpC[$nm], $presTot)."%</i></td>"; $tipoArr.= "<td align=\"right\">".$arrTpC[$nm]." <i>".calcPerc ($arrTpC[$nm], $arrTot)."%</i></td>"; } # residenze Italia if (count ($presResid)) { ksort ($presResid); foreach ($presResid as $prov=>$tot) { $resid.= "<tr><td>".$prov."</td><td align=\"right\">".$tot." <i>".calcPerc ($tot, $presTot)."%</i></td>"; foreach ($tipoAr as $nm=>$tp) $resid.= "<td align=\"right\">".$presResidTp[$tar][$nm]." <i>".calcPerc ($presResidTp[$tar][$nm], $tot)."%</i></td>"; foreach ($tipoContrAr as $nm=>$tp) $resid.= "<td align=\"right\">".$presResidTpC[$tar][$nm]." <i>".calcPerc ($presResidTpC[$tar][$nm], $tot)."%</i></td>"; $resid.= "</tr>\n"; } } # residenze estero if (count ($presResidS)) { ksort ($presResidS); foreach ($presResidS as $tar=>$tot) { $residS.= "<tr><td>".$tar."</td><td align=\"right\">".$tot." <i>".calcPerc ($tot, $presTot)."%</td>"; foreach ($tipoAr as $nm=>$tp) $residS.= "<td align=\"right\">".$presResidSTp[$tar][$nm]." <i>".calcPerc ($presResidSTp[$tar][$nm], $tot)."%</i></td>"; foreach ($tipoContrAr as $nm=>$tp) $residS.= "<td align=\"right\">".$presResidSTp[$tar][$nm]." <i>".calcPerc ($presResidSTp[$tar][$nm], $tot)."%</i></td>"; $residS.= "</tr>\n"; } } echo $testa; ?> <script type="text/javascript" language="javascript"> <!-- $(function() { $('#data_in').datepicker({ changeMonth: true, changeYear: true }); }); $(function() { $('#data_fi').datepicker({ changeMonth: true, changeYear: true }); }); //--> </script> <div align="center"> <form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <h2><?php echo $ptitolo; ?></h2> <h4>Attenzione quando l'intervallo temporale scelto supera il mese il sistema è sottoposto a un lavoro complesso che causa rallentamenti.<br /> Perciò oltre tale limite si consiglia di usare con oculatezza.</h4> </form> <table align="center" cellpadding="5"> <tr><td></td><td align="center"><b>Tot</b></td><?php echo $tipoHd; ?></tr> <tr><td><b>Presenze</b></td><td align="right"><?php echo $presTot; ?></td><?php echo $tipoPr; ?></tr> <tr><td><b>Sistemazioni</b></td><td align="right" coloumn="2"></td><?php echo $tipoPrS; ?></tr> <tr><td><b>Arrivi</b></td><td align="right"><?php echo $arrTot; ?></td><?php echo $tipoArr; ?></tr> <tr><td colspan="<?php echo (2+count ($tipoAr)); ?>"><b>Presenze uniche</b> <?php echo count ($arPers); ?> <tr><td colspan="<?php echo (2+count ($tipoAr)); ?>"><b>Durata media soggiorni</b> <?php echo calcPerc ($presTot, count ($arPers)); ?> </table> <br /> <b>Per residenza</b> <table align="center" cellpadding="5"> <tr><td><b>Provincia</b></td><td align="center"><b>Tot</b></td><?php echo $tipoHd; ?></tr> <tr><?php echo $resid; ?></tr> </table> <br /> <table align="center" cellpadding="5"> <tr><td><b>Stati</b></td><td align="center"><b>Tot</b></td><?php echo $tipoHd; ?></tr> <tr><?php echo $residS; ?></tr> </table> </div> <?php echo $coda; ?>
Save File
Cancel