PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 13-06-2013 23:06:52

ecolom_be
Membre
Inscription : 13-06-2013
Messages : 1

Afficher deux tableaux selon une différence de date.

Bonjour à tous,
je suis occupé à dev. une gestion de ticket IT et j'ai un petit soucis d'affichage.
En fait, le code ci-dessous m'affiche les résultats de ma db selon le statut indiqué dans le select.
L'affichage fonctionne très bien mais je désirerais maintenant surveiller les tickets en calculant les dates
Si la date est today, j'affiche mes demandes du jour dans le premier tableau
Si ma date est inférieure à Today, j'affiche les demandes en retard  dans un deuxième tableaux.
Ceci afin de séparer les demandes du jour et les demandes en retard.
Je parviens à avoir mes deux tableaux sans problème et avec les même résultats de la db.
Normal mes deux codes sont les mêmes
Par contre, j'ai un problème de compréhension pour afficher les données dans leur tableau respectif.
Voici le bout de code de mon premier tableau:


 <?php
    $sql ="SELECT * FROM intervention_it where request_status = 'PE' order by request_date desc";
    $resultat = mysql_query ($sql);
    // Initialisation des variables  et affichage des resultats
    while ($intervention_it = mysql_fetch_array ($resultat))
     {   
     
      // Creation des variables des zones de la page
              $num_request_it = $intervention_it['num_request_it'];
              $request_date = $intervention_it['request_date'];
              $user_name= utf8_encode($intervention_it['user_name']);
              $request_location = utf8_encode($intervention_it['request_location']);
              $request_location_other = utf8_encode($intervention_it['location_other']);               
              $request_subject = utf8_encode($intervention_it['request_subject']);
              $request_status = utf8_encode($intervention_it['request_status']);
              $user_administrator_it = utf8_encode($intervention_it['user_administrator_it']);
   
                 
          echo "<tr height=20 valign=center>";
          echo "<td align=center>$request_date</td>";
          echo "<td align=center>$user_name</td>";
          echo "<td align=center>$request_location $request_location_other</td>";
          echo "<td align=center>$request_subject</td>";
          echo "<td align=center>$user_administrator_it</td>";
          echo "<td align=center>$request_status</td>";
          echo "<td align=center><a href=preview_db_IT_Intervention?num_request_it=$num_request_it><img border=0 src=./images/recher.png width=20 height=20><br></a></td>";
          echo "</tr>";
       
     }
   
   ?>
 

Voci le code de mon deuxième tableau : j'ai ajouté les variables qui calcules la différence de date ( pour l'instant j'affiche le chiffre qui comptabilise les jours de retard dans mon deuxième tableau, le résultat est correct)

Le plus dur reste à venir.
Je suis occupé à tester les conditions if  car je suppose que je vais devoir utiliser cette condition mais j'ai comme qui dirait un problème pour appliquer la formule miracle.


 <?php
        $sql ="SELECT * FROM intervention_it where request_status = 'PE' order by request_date desc";    
        $resultat = mysql_query ($sql);
        // Initialisation des variables  et affichage des resultats
        while ($intervention_it = mysql_fetch_array ($resultat))
         {        
           
            // Creation des variables des zones de la page
                            $today = date("Y/m/d");
                            $num_request_it = $intervention_it['num_request_it'];    
                            $request_date = $intervention_it['request_date'];    
                            $user_name= utf8_encode($intervention_it['user_name']);
                            $request_location = utf8_encode($intervention_it['request_location']);
                            $request_location_other = utf8_encode($intervention_it['location_other']);                                
                            $request_subject = utf8_encode($intervention_it['request_subject']);
                            $request_status = utf8_encode($intervention_it['request_status']);
                            $user_administrator_it = utf8_encode($intervention_it['user_administrator_it']);
                                // calcul la difference de date
                                $debut = new DateTime($request_date);
                                $fin = new DateTime();
                                $interval = $debut->diff($fin);
                                $diff_date = $interval->format('%R%d');
            if ($fin > $debut)
                               
                            {        
                    echo "<tr height=20 valign=center>";
                    echo "<td align=center>$request_date</td>";
                    echo "<td align=center>$user_name</td>";
                    echo "<td align=center>$diff_date</td>";
                    echo "<td align=center>$request_subject</td>";
                    echo "<td align=center>$user_administrator_it</td>";
                    echo "<td align=center>$request_status</td>";
                    echo "<td align=center><a href=preview_db_IT_Intervention?num_request_it=$num_request_it><img border=0 src=./images/recher.png width=20 height=20><br></a></td>";
                    echo "</tr>";
             
         }
         
         }
         mysql_close();    
     ?>    
 

Je ne sais pas si je dois séparer mes deux codes ou plutôt n'en faire qu'un seul avec les conditions if. Mais dans ce cas, je cäle.
Y a-t-il une bonne äme qui pourrait m'aider à finaliser ce code qui je l'avoue me fait sortir mes grandes rames.


Un grand merci à tous.

Hors ligne

Pied de page des forums