Rowspan ne marche pas

Résolu/Fermé
Imen Ben Hassen - Modifié par jordane45 le 11/06/2015 à 14:30
imenbenhassen Messages postés 11 Date d'inscription mardi 16 juin 2015 Statut Membre Dernière intervention 3 novembre 2016 - 17 juin 2015 à 15:03
Bonjour,

j'ai un code qui va afficher les noms et les données des étapes sans duplication .
j'ai fait l'affichage que chaque ligne d'étape affiche la liste des tâches mais les données entre le nom de l'étape et le nom de tâche sont récupérées comme données de dernière étape et dernière tâches .Alors que je veux afficher pour chaque étape ses propres données et de même pour les tâche.Voilà mon code :
<?php
// On démarre la session (ceci est indispensable dans toutes les pages
// du site accessible une fois la session est validé)
session_start ();

?>
<?php 
include("db_tools.inc.php") ;
function list_all_donnees_TableauB($roleU) {
 $id = $_GET["succes"];
 $query="select * from Etape E, Tache T
where (E.idP = $id)
         and
         (T.idE=E.id_E)" ;
 $result=db_doquery($query); 
  
 $people = array();

while(( $row=mysql_fetch_array($result)))
{$date_debutE=$row[3];
$date_FinE=$row[4];
$DecisionE=$row[5];
$AvancementE=$row[6];
$Date_fin_estimeE=$row[7];
$date_debutT=$row[12];
$date_FinT=$row[13];
$Decision=$row[14];
    if( !isset($people[$row[1]])) $people[$row[1]] = array();
 
 
    $people[$row[1]][] = $row[10];
                                                                                                                                                                                                                                                            
//$query1="select * from Etape E, Tache T
//where (E.idP = $id)and T.idE=E.id_E)" ;
 //$result=db_doquery($query);
}
foreach($people as $Nom_Et=>$Nom_Ta)

{switch ($DecisionE) {
 
    case '1':
        $DecisionP = "images/circle-red.png";
        break;
    case '2':
         $DecisionP = "images/circle-green.PNG";
        break;
   case '3':
         $DecisionP = "images/circle-ora.PNG";
        break;
    default:
     // toute autre valeur...
     $DecisionP = 'images/circle-blue.PNG';
     break;
}
  
 
    echo "<tr>"; 
 
 
             echo "<td style=' background:#DCDCDC; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; '  rowspan=\"".count($Nom_Ta)."\">".$Nom_Et."</td>";
    
  
       echo "<td style=' background:#DCDCDC; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; ' rowspan=\"".count($Nom_Ta)."\">".$date_debutE."</td>";
    echo "<td  style=' background:#DCDCDC; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; ' rowspan=\"".count($Nom_Ta)."\">".$date_FinE."</td>";
    echo "<td style=' background:#DCDCDC; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; '  rowspan=\"".count($Nom_Ta)."\">".$DecisionE."</td>";
       echo "<td  style=' background:#DCDCDC; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; ' rowspan=\"".count($Nom_Ta)."\">".$AvancementE."</td>";
       echo "<td  style=' background:#DCDCDC; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; ' rowspan=\"".count($Nom_Ta)."\">".$Date_fin_estimeE."</td>";
   
     
     echo"<td align='center' rowspan=\"".count($Nom_Ta)."\" style=' background:#DCDCDC; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc;'><img  src=".$DecisionP." /></td>";
    
             echo "<td style=' background:#DCDCDC; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; '>".array_shift($Nom_Ta)."</td>";
       echo "<td style=' background:#DCDCDC; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; '>".$date_debutT."</td>";
    echo "<td style=' background:#DCDCDC; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; '>".$date_FinT."</td>";
    echo "<td style=' background:#DCDCDC; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; '>".$Decision."</td>";
    echo "<td style=' background:#DCDCDC; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; '></td>";
    echo "<td style=' background:#DCDCDC; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; '></td>";
    echo "<td style=' background:#DCDCDC; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; '></td>";
  
  
    echo "</tr>";
    foreach( $Nom_Ta as $otherjob)
    { 
        echo "<tr>
          
     <td style=' background:#DCDCDC; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; '>".$otherjob."</td>
     <td style=' background:#DCDCDC; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; '>".$date_debutT."</td>
           <td style=' background:#DCDCDC; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; '>".$date_FinT."</td>
   <td style=' background:#DCDCDC; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; '>".$Decision."</td>
   <td style=' background:#DCDCDC; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; '></td>
    <td style=' background:#DCDCDC; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; '></td>
    <td style=' background:#DCDCDC; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; '></td>
     </tr>";
    }
 }



}


?>
<html>
<head>
<title>Tableau de bord </title>
<link rel="shortcut icon" href="images/projet.jpg" type="image/x-icon" />
<link href="css/main_css.css" rel="stylesheet" type="text/css">
<link href="css/table_style.css" rel="stylesheet" type="text/css">
<link href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.10.3/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.10.3/jquery-ui.min.js"></script>
</head>
<body>
<?php 
//on affiche la page si seulement l'utilisateur est bien authentifié donc son login existe dans la session_cache_expire 

 if (isset($_SESSION['loginU']) && !empty($_SESSION['loginU'])) {
 ?>

<div class='main'>
<?php 
echo "<a style=' align:left_left;color:teal;font-weight:teal;text-decoration:none;font-family: Garamond,
  serif;line-height:1em;font-weight:teal;font-size:20px;
text-shadow:0px 0px 0 rgb(200,200,200),1px 1px 0 rgb(216,216,216),2px 2px 0 
rgb(202,202,202),3px 3px 0 rgb(187,187,187),4px 4px 0 rgb(173,173,173),5px 5px 0 rgb(158,158,158), 6px 6px 0 rgb(144,144,144),7px 7px 6px rgba(0,0,0,0.6),
7px 7px 1px rgba(0,0,0,0.5),0px 0px 6px rgba(0,0,0,.2);' href='#'> Bienvenu ". $_SESSION['nomU']. " ".  $_SESSION['prenomU']. " </a>" ;
?>
<h1 align="center">
<div style="width:1140px;margin:0 auto;margin-top:0px;margin-bottom:20px;"><!-- #wrapper -->
 <header style="padding:20px 0 0 0; height:75px; background:#97DFC6;"><!-- header -->
  <h1 align="left" style="float:left;margin:0 0 18px 10px;width:800px;font-size:50px;line-height:36px;">
  <a style=" align:left;color:teal;font-weight:teal;text-decoration:none;font-family: Garamond,
  serif;line-height:1em;font-weight:teal; font-size:50px;
text-shadow:0px 0px 0 rgb(200,200,200),1px 1px 0 rgb(216,216,216),2px 2px 0 
rgb(202,202,202),3px 3px 0 rgb(187,187,187),4px 4px 0 rgb(173,173,173),5px 5px 0 rgb(158,158,158), 6px 6px 0 rgb(144,144,144),7px 7px 6px rgba(0,0,0,0.6),
7px 7px 1px rgba(0,0,0,0.5),0px 0px 6px rgba(0,0,0,.2);" href="#">Tableau de bord</a></h1>
  <h1 align="left" style="color:teal;clear:right;float:right;font-size:14px;margin:14px 10px 18px 0;">
  <a style=" align:left_left;color:teal;font-weight:teal;text-decoration:none;font-family: Garamond,
  serif;line-height:1em;font-weight:teal;font-size:35px;
text-shadow:0px 0px 0 rgb(200,200,200),1px 1px 0 rgb(216,216,216),2px 2px 0 
rgb(202,202,202),3px 3px 0 rgb(187,187,187),4px 4px 0 rgb(173,173,173),5px 5px 0 rgb(158,158,158), 6px 6px 0 rgb(144,144,144),7px 7px 6px rgba(0,0,0,0.6),
7px 7px 1px rgba(0,0,0,0.5),0px 0px 6px rgba(0,0,0,.2);" href="#">Espace chef de projet</a>
</h1>
    </header>
 </div>
</h1>
<!-- lien vers la page d'accueil dans notre cas index.php -->
<a href="listProjets.php" align="left"><img src="images/big_home.png"/></a>

<!-- déconnexion et retour vers index.php -->
<a href="logout1.php" align="left"><img src="images/logout.jpg"/></a>
<br/>

<table class="customers">
  <tr> 

        <TH   colspan="7" style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white"><center>Etapes</center> 
        <TH   colspan="7" style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white"><center>Tâches </center>
  <tr>
        
  <th style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white">Nom d'étape

   <th  style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white"> Date de début d'étape
   <th  style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white">Date de fin d'étape
    <th  style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white">Action
 <th style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white"> Avancement de l'étape
    <th  style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white">Date de fin estimée d'étape
 <th style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white">Statut
 <th style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white">Nom de tâche 
   <th style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white"> Date de début de tâche 
   <th style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white">Date de fin de tâche
    <th style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white">Action
 <th style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white"> Avancement de  tâche
    <th style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white">Date de fin estimée de tâche
 <th style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white">Statut
 
 
<?php

//le rôle de l'utilisateur est passé en paramètre pour savoir s'il a le droit d'ajouter 
//et modifier ou non
$contenu = list_all_donnees_TableauB($_SESSION['roleU']) ;
//affiche le tableau
echo $contenu ;
echo "</table > <br/>  <br/>" ;
 
//cas des erreurs envoyés dans l'url 
if(isset($_GET["error"]) && !empty($_GET["error"])){
    $error= $_GET["error"] ;
 echo "<div class=\"error\"><img src=\"images/error32.gif\"/>
       <p>$error</p>
    </div>" ;
}
?>
</div>
<?php } else {
//le cas l'utilisateur n'est pas connecté, donc son login n'est pas dans la session
echo     "<div class=\"error\"><img src=\"images/error32.gif\"/>
       <p>Accès interdit. Vous devez vous authentifier <a href='index1.php'>Ici</a>.</p>
    </div>"  ;

}?>
<div class="foot">
 <p>Copyright Laboratoire G-SCOP 2015.</p>
</div>
<script>
$(document).ready(function() {
   var span = 1;
   var prevTD = "";
   var prevTDVal = "";
   $("#myTable tr td:first-child").each(function() { //for each first td in every tr
      var $this = $(this);
      if ($this.text() == prevTDVal) { // check value of previous td text
         span++;
         if (prevTD != "") {
            prevTD.attr("rowspan", span); // add attribute to previous td
            $this REMOVE(); // remove current td
         }
      } else {
         prevTD     = $this; // store current td 
         prevTDVal  = $this.text();
         span       = 1;
      }
   });
});
</script>
</body>
</html>


Quelqu'un aurait une solution svp?
Merci d'avance.


EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.
.

2 réponses

Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 185
Modifié par Groarh le 11/06/2015 à 14:26
Il y a beaucoup de problèmes dans ce code :/

Il y en a trois que je peux à peux près t'expliquer.

1. Ta boucle while se termine trop tôt. Je prends un extrait de ton code :
while ($row = mysql_fetch_array($result)) {
$date_debutE = $row[3];
...
}

À chaque tour, la variable $date_debutE est écrasée par la nouvelle valeur $row[3]. S'il y a 100 résultats de requêtes, à la fin de la boucle while, la variable $date_debutE aura la valeur du 100e $row[3], et les 99 autres valeurs auront été oubliées.
Je vois que tu as essayé de corriger le problème en créant un tableau $people, mais ça t'oblige à utiliser des boucles foreach par la suite et ça te complique la vie :)
La solution c'est de faire tous tes traitements dans le corps de la boucle while. Plus besoin de $people et plus besoin de foreach.

2. Problème de logique dans ta boucle foreach. Si tu suis mes conseils, tu vas retirer cette boucle, mais je t'explique quand même le problème pour t'aider à avancer ;)
Le problème c'est que tu rappelles count($nom_Ta) à chaque tour de la boucle foreach, et dans cette même boucle tu fais array_shift($nom_Ta) qui diminue de 1 la longueur du tableau.
Donc, à chaque tour, count retourne 1 de moins, et tes rowspan sont de plus en plus petits. Mets le count de départ dans une variable avant la boucle et tu n'auras plus ce problème.

3. Beaucoup de répétitions, en particulier les styles ! Ce n'est pas un bug à proprement parler, mais ça rend le code difficile à travailler. Mets des id ou des classes sur tes balises, et place tes styles à l'extérieur, dans une balise <style> ou une feuille de styles externe.

J'ai fait l'effort de regarder ton code qui est encombré de styles CSS redondants. En contrepartie, j'aimerais que tu fasses toi aussi un effort et que tu nettoies ton code :) Comme ça, si jamais un jour tu as un nouveau problème, ça rendra service aux gens qui essayeront de t'aider !
1
Imen Ben Hassen
11 juin 2015 à 14:39
Merci Groach de votre réponse :)
je vais essayer de nettoyer mon code et d'utiliser vos remarques .
bonne journée :)
0
Imen Ben Hassen
12 juin 2015 à 13:41
Bonjour Groach ,
quand j'ai éliminé les deux foreach et inclue toutes les traitements dans la boucle while le rowspan=count(Nom_Ta) ne marche pas et j'aurai un tableau comme dans la base de données contient tous les informations sans les bien affichées
Merci de me répondre
0
Imen Ben Hassen
12 juin 2015 à 13:49
voilà mon nouveau code :)

<?php 
include("db_tools.inc.php") ;
function list_all_donnees_TableauB($roleU) {
$id = $_GET["succes"];
$query="select * from Etape E, Tache T
where (E.idP = $id)
and
(T.idE=E.id_E)" ;
$result=db_doquery($query);

$people = array();

while(( $row=mysql_fetch_array($result)))
{$Nom_Et=$row[1];
$date_debutE=$row[3];
$date_FinE=$row[4];
$DecisionE=$row[5];
$AvancementE=$row[6];
$Date_fin_estimeE=$row[7];
$date_debutT=$row[12];
$date_FinT=$row[13];
$Decision=$row[14];
$Nom_Ta=$row[10];

//$query1="select * from Etape E, Tache T
//where (E.idP = $id)and T.idE=E.id_E)" ;
//$result=db_doquery($query);

$i=0 ;
$statut= $row['DecisionE'];

switch ($statut) {
case 'non terminee':
$DecisionP = 'images/circle-red.png';
break;
case 'termine':
$DecisionP = 'images/circle-green.PNG';
break;
case 'en cours':
$DecisionP = 'images/circle-blue.PNG';
break;
default:
// toute autre valeur...
$DecisionP = 'images/circle-ora.PNG';
//Le temps des tests

break;

}


echo "<tr id='tr_$i'>";


echo "<td rowspan=\"".count($Nom_Ta)."\">".$Nom_Et."</td>";


echo "<td rowspan=\"".count($Nom_Ta)."\">".$date_debutE."</td>";
echo "<td rowspan=\"".count($Nom_Ta)."\">".$date_FinE."</td>";
echo"<td rowspan=\"".count($Nom_Ta)."\">
<img src='$DecisionP' alt='image'></img>
</td>
";
echo "<td rowspan=\"".count($Nom_Ta)."\">".$AvancementE."</td>";
echo "<td rowspan=\"".count($Nom_Ta)."\">".$Date_fin_estimeE."</td>";



echo "<td>".$Nom_Ta."</td>";
echo "<td>".$date_debutT."</td>";
echo "<td>".$date_FinT."</td>";
echo "<td>".$Decision."</td>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";


echo "</tr>";

}



}


?>
0
Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 185
Modifié par Groarh le 13/06/2015 à 03:06
Bravo pour tes efforts, c'est beaucoup mieux :D

Si je ne dis pas de conneries, toutes les données qui sortent d'une requête MySQL sont de type chaîne, donc $nom_Ta n'est sans doute pas un tableau comme tu t'y attends.
Passées à la fonction count, les chaînes sont mystérieusement converties en je ne sais quoi et le résultat est toujours 1. C'est aussi étrange qu'inutile... >_<

En fait, que veux-tu faire avec cette donnée $nom_Ta ? Qu'est-elle censée représenter ? J'aimerais bien voir à quoi ressemble une ligne de résultat de ta requête SQL (fais une capture d'écran sur ton PHPMyAdmin par exemple) pour pouvoir t'aider.
0
Bonsoir Groarch ,
Désolé pour le retard,
d'abord dans mon PFE j'ai une gestion des projets , chaque projet a des étapes et des tâches , chaque étapes a des tâches .Ce que je veux est d'éliminer les répétitions de nom et les données de l'étapes à chaque ligne qui contient le nom de tâche.Par exemple
etape 1 a 4 taches :tache1 tache 2 tache3 tache4
dans l'affichage je ne veux pas affihcher comme ça:
etape1 23-06-2015 29-07-2015 non termine tache1
etape1 23-06-2015 29-07-2015 non termine tache2
etape1 23-06-2015 29-07-2015 non termine tache3
etape1 23-06-2015 29-07-2015 non termine tache4
MAIS je veux afficher comme ça:
etape1 23-06-2015 29-07-2015 non termine tache1
tache2
tache3
tache4
Merci de m'aider s'il vaut plait Groarch.
0
tache2
tache3
tache4
sont au dessous de tache1
0
imen ben hassen
15 juin 2015 à 10:08
Bonjour Groarch,
voilà mon code :
<?php
// On démarre la session (ceci est indispensable dans toutes les pages
// du site accessible une fois la session est validé)
session_start ();

?>
<?php
include("db_tools.inc.php") ;
function list_all_donnees_TableauB($roleU) {
$id = $_GET["succes"];
$query="select * from Etape E, Tache T
where (E.idP = $id)
and
(T.idE=E.id_E)" ;
$result=db_doquery($query);



while(( $row=mysql_fetch_array($result)))

{
$Nom_Et=$row[1];
$date_debutE=$row[3];
$date_FinE=$row[4];
$DecisionE=$row[5];
$AvancementE=$row[6];
$Date_fin_estimeE=$row[7];
$Nom_Ta=$row[10];
$date_debutT=$row[12];
$date_FinT=$row[13];
$Decision=$row[14];
$query1="SELECT COUNT( T.Nom_Ta )
FROM Tache T
WHERE (
T.idE =$row[0]
)";
$result1=db_doquery($query1);
while($row1=mysql_fetch_array($result1)){

//$query1="select * from Etape E, Tache T
//where (E.idP = $id)and T.idE=E.id_E)" ;
//$result=db_doquery($query);


$statut= $row['DecisionE'];





switch ($statut) {
case 'non terminee':
$DecisionP = 'images/circle-red.png';
break;
case 'termine':
$DecisionP = 'images/circle-green.PNG';
break;
case 'en cours':
$DecisionP = 'images/circle-blue.PNG';
break;
default:
// toute autre valeur...
$DecisionP = 'images/circle-ora.PNG';
//Le temps des tests

break;

}


echo "<tr>";


echo "<td rowspan=\"".$row1[0]."\">".$Nom_Et."</td>";


echo "<td rowspan=\"".$row1[0]."\">".$date_debutE."</td>";
echo "<td rowspan=\"".$row1[0]."\">".$date_FinE."</td>";
echo"<td align='center' rowspan=\"".$row1[0]."\">
<img src='$DecisionP' alt='image'></img>
</td>
";
echo "<td rowspan=\"".$row1[0]."\">".$AvancementE."</td>";
echo "<td rowspan=\"".$row1[0]."\">".$Date_fin_estimeE."</td>";
}


echo "<td>".$Nom_Ta."</td>";
echo "<td>".$date_debutT."</td>";
echo "<td>".$date_FinT."</td>";
echo "<td>".$Decision."</td>";
echo "<td></td>";
echo "<td></td>";
echo "<td></td>";


echo "</tr>";



}

}


?>
<html>
<head>
<title>Tableau de bord </title>
<link rel="shortcut icon" href="images/projet.jpg" type="image/x-icon" />
<link href="css/main_css.css" rel="stylesheet" type="text/css">
<link href="css/table_style.css" rel="stylesheet" type="text/css">
<link href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.10.3/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.10.3/jquery-ui.min.js"></script>
</head>
<body>
<?php
//on affiche la page si seulement l'utilisateur est bien authentifié donc son login existe dans la session_cache_expire

if (isset($_SESSION['loginU']) && !empty($_SESSION['loginU'])) {
?>

<div class='main'>
<?php
echo "<a style=' align:left_left;color:teal;font-weight:teal;text-decoration:none;font-family: Garamond,
serif;line-height:1em;font-weight:teal;font-size:20px;
text-shadow:0px 0px 0 rgb(200,200,200),1px 1px 0 rgb(216,216,216),2px 2px 0
rgb(202,202,202),3px 3px 0 rgb(187,187,187),4px 4px 0 rgb(173,173,173),5px 5px 0 rgb(158,158,158), 6px 6px 0 rgb(144,144,144),7px 7px 6px rgba(0,0,0,0.6),
7px 7px 1px rgba(0,0,0,0.5),0px 0px 6px rgba(0,0,0,.2);' href='#'> Bienvenu ". $_SESSION['nomU']. " ". $_SESSION['prenomU']. " </a>" ;
?>
<h1 align="center">
<div style="width:1140px;margin:0 auto;margin-top:0px;margin-bottom:20px;"><!-- #wrapper -->
<header style="padding:20px 0 0 0; height:75px; background:#97DFC6;"><!-- header -->
<h1 align="left" style="float:left;margin:0 0 18px 10px;width:800px;font-size:50px;line-height:36px;">
<a style=" align:left;color:teal;font-weight:teal;text-decoration:none;font-family: Garamond,
serif;line-height:1em;font-weight:teal; font-size:50px;
text-shadow:0px 0px 0 rgb(200,200,200),1px 1px 0 rgb(216,216,216),2px 2px 0
rgb(202,202,202),3px 3px 0 rgb(187,187,187),4px 4px 0 rgb(173,173,173),5px 5px 0 rgb(158,158,158), 6px 6px 0 rgb(144,144,144),7px 7px 6px rgba(0,0,0,0.6),
7px 7px 1px rgba(0,0,0,0.5),0px 0px 6px rgba(0,0,0,.2);" href="#">Tableau de bord</a></h1>
<h1 align="left" style="color:teal;clear:right;float:right;font-size:14px;margin:14px 10px 18px 0;">
<a style=" align:left_left;color:teal;font-weight:teal;text-decoration:none;font-family: Garamond,
serif;line-height:1em;font-weight:teal;font-size:35px;
text-shadow:0px 0px 0 rgb(200,200,200),1px 1px 0 rgb(216,216,216),2px 2px 0
rgb(202,202,202),3px 3px 0 rgb(187,187,187),4px 4px 0 rgb(173,173,173),5px 5px 0 rgb(158,158,158), 6px 6px 0 rgb(144,144,144),7px 7px 6px rgba(0,0,0,0.6),
7px 7px 1px rgba(0,0,0,0.5),0px 0px 6px rgba(0,0,0,.2);" href="#">Espace chef de projet</a>
</h1>
</header>
</div>
</h1>
<!-- lien vers la page d'accueil dans notre cas index.php -->
<a href="listProjets.php" align="left"><img src="images/big_home.png"/></a>

<!-- déconnexion et retour vers index.php -->
<a href="logout1.php" align="left"><img src="images/logout.jpg"/></a>
<br/>

<table class="customers">
<tr>

<TH colspan="6" style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white"><center>Etapes</center>
<TH colspan="7" style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white"><center>Tâches </center>
<tr>

<th style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white">Nom d'étape

<th style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white"> Date de début d'étape
<th style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white">Date de fin d'étape
<th style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white">Statut
<th style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white"> Avancement de l'étape
<th style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white">Date de fin estimée d'étape

<th style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white">Nom de tâche
<th style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white"> Date de début de tâche
<th style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white">Date de fin de tâche
<th style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white">Action
<th style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white"> Avancement de tâche
<th style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white">Date de fin estimée de tâche
<th style="background:teal; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; color:white">Statut


<?php

//le rôle de l'utilisateur est passé en paramètre pour savoir s'il a le droit d'ajouter
//et modifier ou non
$contenu = list_all_donnees_TableauB($_SESSION['roleU']) ;
//affiche le tableau
echo $contenu ;
echo "</table > <br/> <br/>" ;

//cas des erreurs envoyés dans l'url
if(isset($_GET["error"]) && !empty($_GET["error"])){
$error= $_GET["error"] ;
echo "<div class=\"error\"><img src=\"images/error32.gif\"/>
<p>$error</p>
</div>" ;
}
?>
</div>
<?php } else {
//le cas l'utilisateur n'est pas connecté, donc son login n'est pas dans la session
echo "<div class=\"error\"><img src=\"images/error32.gif\"/>
<p>Accès interdit. Vous devez vous authentifier <a href='index1.php'>Ici</a>.</p>
</div>" ;

}?>
<div class="foot">
<p>Copyright Laboratoire G-SCOP 2015.</p>
</div>
<script>
$(document).ready(function() {
var span = 1;
var prevTD = "";
var prevTDVal = "";
$("#myTable tr td:first-child").each(function() { //for each first td in every tr
var $this = $(this);
if ($this.text() == prevTDVal) { // check value of previous td text
span++;
if (prevTD != "") {
prevTD.attr("rowspan", span); // add attribute to previous td
$this REMOVE(); // remove current td
}
} else {
prevTD = $this; // store current td
prevTDVal = $this.text();
span = 1;
}
});
});
</script>
</body>
</html>

Je trouve des problèmes dans l'affichage des tâches :( dans les colonnes de "Taches" les données des étapes sont affichées avec les tâches :(
Ps:je veux postuler un capture écran mais il n'est pas accepté dans votre forum :/ :/ pour vous mieux me comprenez.
Merci beaucoup de m'aider
0
Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 185
Modifié par Groarh le 15/06/2015 à 21:19
Aaaaaaah je crois que j'ai enfin vraiment saisi ton problème !
Et je crois que j'ai une solution miracle :D
Essaye ça :
$query = "SELECT *, COUNT(*) FROM Etape E, Tache T
          WHERE (E.idP = $id) AND (T.idE = E.id_E)
          GROUP BY E.id_E";

Avec ça tu as un nouveau champ dans ton jeu de résultats ($row) qui te donne le nombre d'étapes identiques par rapport à une même tâche. Tu devrais pouvoir t'en servir directement comme rowspan.
0
imen ben hassen > Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015
15 juin 2015 à 21:42
Bonsoir Groach ,
merci :))
mais il prend seulement le 1ere tâche de chaque étapes :(
0