ce tableau prend en consiredation les jours du mois.. j'aimerai le mème tableau, mais avec les semaines du mois

Eléphanteau du PHP | 10 Messages

02 nov. 2016, 11:48

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>";
}

Eléphanteau du PHP | 10 Messages

03 nov. 2016, 10:28

quelqun pourrait me conseiller sur comment procèder???
le but est d'avoir le meme tableau, mais en format semaine..
par example:
| mois |
week1| week2 | week3 | week4 |

Mammouth du PHP | 881 Messages

04 nov. 2016, 19:38

Visite la documentation PHP à la page de la fonction date().
Soyez artisans de paix