Bonjour,
Merci pour l'aide.
J'ai fait appel à mon collègue pour créer les fonctions qui vont bien, on arrive au résultat voulu.
Je partage donc le code que je ne peux pas vraiment expliquer vu mes compétences en dev ..
Lignes 103 à 112 :
Code : Tout sélectionner
if($_POST['date_hope']=='')
{
$date_hope_deb = "0000-00-00";
$date_hope_fin = "9999-99-99";
}
else
{
$date_hope_deb = date_debut_semaine($_POST['date_hope']);
$date_hope_fin = date('Y/m/d',strtotime('+6 days',strtotime(date_debut_semaine($_POST['date_hope']))));
}
Ligne 155 à 177 : Recherche
Code : Tout sélectionner
if ($keywords)
{
include "./searchengine.php";
} else {
$from="
FROM tincidents, tstates
WHERE
tincidents.state=tstates.id
AND tincidents.user LIKE '$_POST[user]'
AND tincidents.u_group LIKE '$_GET[u_group]'
AND tincidents.technician LIKE '$_POST[technician]'
AND tincidents.t_group LIKE '$_GET[t_group]'
AND tincidents.techread LIKE '$_GET[techread]'
AND tincidents.disable='0'
AND (tincidents.category LIKE '$_POST[category]')
AND tincidents.subcat LIKE '$_POST[subcat]'
AND tincidents.id LIKE '$_POST[ticket]'
AND tincidents.user LIKE '$_POST[userid]'
AND tincidents.date_create LIKE '$_POST[date]%'
AND tincidents.state LIKE '$_POST[fstate]'
AND tincidents.title LIKE '%$_POST[title]%'
AND tincidents.date_hope >= '$date_hope_deb' and tincidents.date_hope <= '$date_hope_fin'
";
}
Lignes 466 à 480, ajout de la colonne Délai souhaité
Code : Tout sélectionner
<th <?php if ($_GET['order']=='date_hope') echo 'class="active"'; ?> >
<center>
<a title="Délai souhaité" href="<?php echo $url; ?>&order=date_hope&way=<?php echo $arrow_way; ?>">
Délai souhaité
<?php
//Display arrows
if ($_GET['order']=='date_hope'){
if ($_GET['way']=='ASC') {echo ' <i class="icon-sort-up"></i>';}
if ($_GET['way']=='DESC') {echo ' <i class="icon-sort-down"></i>';}
}
?>
</a>
</center>
</th>
Lignes 593 à 595, ajout de la ligne de filtre
Code : Tout sélectionner
<td align=center>
<input name="date_hope" size="4" onchange="submit();" type="text" value="<?php if ($_POST['date_hope']!='%')echo $_POST['date_hope']; ?>" />
</td>
Lignes 728 à 730 : pour afficher les infos dans la colonne Délai souhaité (dans le tableau)
Code : Tout sélectionner
<td onclick=\"document.location='./index.php?page=ticket&id=$row[id]&state=$_GET[state]&userid=$_GET[userid]&category=$_GET[category]&subcat=$_GET[subcat]&viewid=$_GET[viewid]'\"><center><a class=\"td\" href=\"./index.php?page=ticket&id=$row[id]&state=$_GET[state]&userid=$_GET[userid]&category=$_GET[category]&subcat=$_GET[subcat]&viewid=$_GET[viewid]\">".dateFR2WeekNum($date_hope)."</a></center>
</td>
Fonctions :
Code : Tout sélectionner
function dateFR2WeekNum($date)
{
list($year, $month, $day) = explode('-', $date);
if ($year==0000) {
$weekNum = "Pas de délai";
}
else
{
$weekNum = (date('W', mktime(0, 0, 0, $month, $day, $year)) * 1);
}
return $weekNum;
}
function date_debut_semaine($week) {
$week = sprintf('%02d',$week);
$start = strtotime('2014'.'W'.$week);
return date('Y-m-d', strtotime('Monday',$start));
Pour résumer :
- Ajout d'une colonne Délai souhaité entre la date de la demande et l'état du ticket
- Si date de délai (date d'estimation de la résolution) 0000-00-00 on affiche "Pas de délai"
- Si délai il y a, la fonction converti la date correspondante en numéro de semaine
- On peut également filtrer par numéro de semaine dans la ligne de filtre
Si des améliorations sont a apporter, je suis preneur, en attendant cela fonctionne, cela correspond à notre manière de travailler.
Cdt
TBR