Bonjour,
Il serait intéressant de pouvoir afficher les statistiques par semaine (Semaine en cours, semaine dernière, ...).
Est-ce qu'un tel filtre est prévu dans les prochaines mises a jour?
Cordialement
Franck
Filtrage statistiques par semaine
Bonjour,
J'ai commencé a me pencher sur le sujet
J' ai ajouté une fonction dans stat.php qui retourne la date de début et fin de semaine:
Source: http://stackoverflow.com/questions/4861 ... weeknumber
Ainsi que la variable "semaine"
J'ai ajouté dans ticket_stat.php le menu déroulant semaines (en me basant sur le modèle du menu mois):
Et je me suis attaqué au premier graphe:
Dans line_tickets.php
J'ai d'abord changé les conditions des autres recherches pour qu'elles prennent en compte le nouveau menu (semaine):
Puis j'ai crée la condition de recherche sur la semaine
Elle ressemble beaucoup a celle sur le mois, voici les points que j ai modifiés:
Je définis mes deux dates (debut et fin de la semaine):
Pour les insérer dans la requete sql :
J'ai encore quelques problèmes pour insérer le numéro de semaine dans le titre du graphe, mais sinon, ca fait le taf.
J'aimerais avoir quand même vos avis avant de modifier les graphes suivants
Si quelqu'un a des critiques, des suggestions ou alors une idée pour mieux faire, je suis preneur!
Merci d'avance
Franck
J'ai commencé a me pencher sur le sujet
J' ai ajouté une fonction dans stat.php qui retourne la date de début et fin de semaine:
Source: http://stackoverflow.com/questions/4861 ... weeknumber
Code : Tout sélectionner
function getStartAndEndDate($fweek, $fyear)
{
$time = strtotime("1 January $fyear", time());
$day = date('w', $time);
$time += ((7*$fweek)+1-$day)*24*3600;
$return[0] = date('Y-n-j', $time);
$time += 6*24*3600;
$return[1] = date('Y-n-j', $time);
return $return;
}
Code : Tout sélectionner
if ($_POST['week']=="") $_POST['week']=date('W');
Code : Tout sélectionner
<select name="week" onchange=submit()>
<option value="%" <?php if ($_POST['week'] == '%')echo "selected" ?>>Toutes les semaines</option>
<option value="01"<?php if ($_POST['week'] == '1')echo "selected" ?>>Semaine 01</option>
<option value="02"<?php if ($_POST['week'] == '2')echo "selected" ?>>Semaine 02</option>
<option value="03"<?php if ($_POST['week'] == '3')echo "selected" ?>>Semaine 03</option>
...
<option value="52"<?php if ($_POST['week'] == '52')echo "selected" ?>>Semaine 52</option>
Dans line_tickets.php
J'ai d'abord changé les conditions des autres recherches pour qu'elles prennent en compte le nouveau menu (semaine):
Code : Tout sélectionner
//query for year selection
if (($_POST['week'] == '%') && ($_POST['month'] == '%') && ($_POST['year']!=='%'))
Code : Tout sélectionner
//query for month selection
else if (($_POST['week'] == '%') && ($_POST['month']!='%'))
Code : Tout sélectionner
// MODIFICATION: recherche sur la semaine
else if ($_POST['week']!='%')
Je définis mes deux dates (debut et fin de la semaine):
Code : Tout sélectionner
$dateDebut = getStartAndEndDate($_POST['week'], $_POST['year'])[0];
$dateFin = getStartAndEndDate($_POST['week'], $_POST['year'])[1];
Code : Tout sélectionner
$query1=$db->query("SELECT day(date_create) as x,count(*) as y FROM `tincidents` WHERE technician LIKE '$_POST[tech]' and criticality like '$_POST[criticality]' and type LIKE '$_POST[type]' and category LIKE '$_POST[category]' and date_create not like '0000-00-00 00:00:00' and (date_create BETWEEN '$dateDebut' AND '$dateFin' ) AND disable='0' group by x ");
$query2=$db->query("SELECT day(date_res) as x,count(*) as y FROM `tincidents` WHERE technician LIKE '$_POST[tech]' and criticality like '$_POST[criticality]' and type LIKE '$_POST[type]' and category LIKE '$_POST[category]' and date_res not like '0000-00-00 00:00:00' and (date_res BETWEEN '$dateDebut' AND '$dateFin') AND disable='0' group by x ");
J'aimerais avoir quand même vos avis avant de modifier les graphes suivants
Si quelqu'un a des critiques, des suggestions ou alors une idée pour mieux faire, je suis preneur!
Merci d'avance
Franck
Serveur: GestSup: 3.1.9 | OS: Debian 3.16.0.4 | Apache: 2.4.10 | MySQL: 5.5.49-0| PHP: 5.6.23-0