transformer en un calendrier 12 semaines au lieu des 30/31 jours

Petit nouveau ! | 6 Messages

04 nov. 2016, 10:36

global $DB, $LANG;

$today = date("Ymd");
$mois = date("m");
$ans = date("Y");
$num_jour_du_mois = cal_days_in_month(CAL_GREGORIAN, $mois, $anno);
$str_premierjj = "01-" . $mois . "-" . $anno . " 00:00:00";
$str_dernierjj = $num_jour_du_mois . "-" . $mois . "-" . $anno . " 23:59:59";
$premier_jour_du_mois = DateTime::createFromFormat('j-m-Y H:i:s', $str_premierjj);
$dernier_jour_du_mois = DateTime::createFromFormat('j-m-Y H:i:s', $str_dernierjj);


if (isset($_POST['tickets_id']) && isset($_POST['comment_change_m'])) {
$comment = Toolbox::clean_cross_side_scripting_deep($_POST['comment_change_m']);
$comment = Html::cleanInputText($comment);
$tickets_id = intval($_POST['tickets_id']);
$query_comment = "UPDATE `tickets` SET `comment_change_m`='" . $comment . "' where `id`=" . $tickets_id . "";
if ($result_comment = $DB->query($query_comment)) {
$msg = "good";
echo '<script type="text/javascript">alert("' . $msg . '"); </script>';
} else {
$msg = "Error";
echo '<script type="text/javascript">alert("' . $msg . '"); </script>';
};
}

echo '
<table border="1" width="1237px">
<tr>
<th rowspan="2" width="30px">ID</th>
<th rowspan="2" width="120px">elemento</th>
<th rowspan="2" width="200px">commento</th>
<th colspan="' . $num_jour_du_mois . '" width="558px">MESE</th>';
echo "<tr>";
for ($g = 1; $g <= $num_jour_du_mois; $g++) {
echo "<th rowspan='1' width='18px'><small>g$g</small></th>";
}
echo '</tr>';

$date_begin_mois = $premier_jour_du_mois->format('Y-m-d H:i:s');
$date_end_mois = $dernier_jour_du_mois->format('Y-m-d H:i:s');

$query = "select * from ticketchangemanagements LEFT JOIN `moone_tickets` ON (`ticketchangemanagements`.`tickets_id` = `tickets`.`id` ) where begin<'" . $date_end_mois . "' AND end>'" . $date_begin_mois . "' GROUP BY tickets_id";
$risu = $DB->query($query);
$risultat = $DB->numrows($risu);

if ($risultat > 0) {
echo "<tr>";
$i = 0;
while ($dati = $DB->fetch_assoc($risu)) {
switch ($dati['priority']) {
case 1:
echo"<th color='black' bgcolor='#ffffff'>" . $dati['tickets_id'] . "</th>";
break;

case 2:
echo"<th color='black' bgcolor='##ffe0e0'>" . $dati['tickets_id'] . "</th>";
break;

case 3:
echo"<th color='black' bgcolor='#ffff22'>" . $dati['tickets_id'] . "</th>";
break;

case 4:
echo"<th color='black' bgcolor='#ffaa11'>" . $dati['tickets_id'] . "</th>";
break;

case 5:
echo"<th color='black' bgcolor='#ff1111'>" . $dati['tickets_id'] . "</th>";
break;

case 6:
echo"<th color='black' bgcolor='#ff5555'>" . $dati['tickets_id'] . "</th>";
break;
}

echo "<td>" . HTML::resume_text($dati['name'],20) . "</td>";
echo "<td>";

echo"<form method=post action='" . $_SERVER['PHP_SELF'] . "'>";
echo"<input type='text' style='width:225px;' name='comment_change_m' value='" . $dati['comment_change_m'] . "'>";
echo"<input type='hidden' name='tickets_id' value='" . $dati['tickets_id'] . "'>";
echo "&nbsp";
echo"<input type='submit' id='button' value='send'>";
echo"</form>";
echo"</td>";

$query_int = "select * from ticketchangemanagements where begin<'" . $date_end_mois . "' AND end>'" . $date_begin_mois . "' and tickets_id='" . $dati['tickets_id'] . "' ORDER BY id ASC";

$risu_int = $DB->query($query_int);
$fasi = $DB->numrows($risu_int);

if ($fasi > 0) {
$num_total_quad_stamp = "";

while ($dati_fase = $DB->fetch_assoc($risu_int)) {
$num_total_quad_stamp2 = "";
$num_de_quad_par_fase2 = "";
$num_de_quad_par_fase = "";
$begin_fase = $dati_fase["begin"];
$end_fase = $dati_fase["end"];
$tipe_fase = $dati_fase["changemanagementcategories_id"];
$date_begin_fase = DateTime::createFromFormat('Y-m-j H:i:s', $begin_fase);
$date_end_fase = DateTime::createFromFormat('Y-m-j H:i:s', $end_fase);

if ($date_begin_fase < $premier_jour_du_mois) {
$interval2 = $date_begin_fase->diff($premier_jour_du_mois);
$num_de_quad_par_fase2 = $interval2->format('%d.%h');
$flnmb2 = floatval($num_de_quad_par_fase2);
$num_de_quad_par_fase2 = ceil($flnmb2);
$num_total_quad_stamp2 = $num_total_quad_stamp2 + $num_de_quad_par_fase2;
}

$interval = $date_begin_fase->diff($date_end_fase);

$num_de_quad_par_fase = $interval->format('%d.%h%i');

$flnmb = floatval($num_de_quad_par_fase);

$num_de_quad_par_fase = ceil($flnmb);

if ($num_de_quad_par_fase2 > 0) {

$num_de_quad_par_fase = $num_de_quad_par_fase - $num_de_quad_par_fase2;
}
$num_quad_stamp_fase_precedent = $num_total_quad_stamp;
$num_total_quad_stamp = $num_total_quad_stamp + $num_de_quad_par_fase;

$mois_begin_fase = $date_begin_fase->format('m');

if ($mois_begin_fase) {

$jour_inizio_fase = $date_begin_fase->format('j');

if ($tipo_fase == 3) {
$interval_vide = $premier_jour_du_mois->diff($date_begin_fase);
$num_quad_vide = $interval_vide->format('%R%a');

if ($num_quad_vide > 0) {

$num_total_quad_stamp = $num_total_quad_stamp + $num_quad_vide;
for ($i = 0; $i < $num_quad_vide; $i++) {
echo"<td width='18px'> </td>";
}
}
} else {

}

if ($num_total_quad_stamp > $num_jour_du_mois) {
$num_de_quad_par_fase = $num_jour_du_mois - $num_quad_stamp_fase_precedent;
}
for ($k = 1; $k <= $num_de_quad_par_fase; $k++) {

switch ($tipo_fase) {
case 1:
echo"<th color='black' bgcolor='#000000' width='18px'> </th>";
break;
case 3:
case 4:
case 5:
echo"<th color='black' bgcolor='#87CEFA' width='18px'> </th>";
break;

case 6:
echo"<th color='black' bgcolor='#0000FF' width='18px'> </th>";
break;

case 7:
case 8:
echo"<th color='black' bgcolor='#8A2BE2' width='18px'> </th>";
break;

case 9:
echo"<th color='black' bgcolor='#FFB6C1' width='18px'> </th>";
break;
}
}
}
}
if ($num_total_quad_stamp < $num_jour_du_mois) {
$interval_vide_fuori = $num_jour_du_mois - $num_total_quad_stamp;
for ($i = 0; $i < $interval_vide_fuori; $i++) {

echo"<td width='18px'> </td>";
}
}
echo "</tr>";
}
}
echo "</table>";
}

Mammouth du PHP | 810 Messages

04 nov. 2016, 19:37

La présentation d'un problème ou une demande d'aide devrait commencer par « Bonjour » et se finir par « merci de votre aide »
Entre le deux, on devrait présenter la situation (pas encore le code), puis l'objectif.
Ensuite, on présente les essais antérieurs en soulignant ce qui a fonctionné et ce qui a échoué.

Le code présenté ci-haut est indigeste; veuillez le mastiquer un peu et en présenter les succès et les échecs.
Soyez artisans de paix

Petit nouveau ! | 6 Messages

08 nov. 2016, 10:35

La présentation d'un problème ou une demande d'aide devrait commencer par « Bonjour » et se finir par « merci de votre aide »
Entre le deux, on devrait présenter la situation (pas encore le code), puis l'objectif.
Ensuite, on présente les essais antérieurs en soulignant ce qui a fonctionné et ce qui a échoué.

Le code présenté ci-haut est indigeste; veuillez le mastiquer un peu et en présenter les succès et les échecs.


vous avez raison.. je suis vraiment dèsolèe..