Bonjour à tous,

Je rencontre actuellement un souci sur une application de gestion de planning.
Ma base contient des évènements qui ont entre autres, une date de début, une heure de début et de fin.

Je génère un tableau avec 5 jours (en enlevant les week-end) et dans chaque colonne comme vous l'imaginez, j'ajoute mes évènements. Je place le départ de chaque évènements correctement mais quand j'essaye d'étendre la case sur plusieurs lignes avec un rowspan, je me retrouve avec un décallage somptueux...

Plus tôt, on m'a dit qu'en fait, si j'ai bien compris, je crée plusieurs des td en trop... mais je sais pas trop trop comment gérer le problème...

Est-ce que vous auriez une idée ?


Voici mon code php me servant à construire mon tableau :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
 
for ($i=1; $i<=30; $i++) {
 
echo "<tr><td class='heure'>".$heure_deb;
if ($i%2) { echo ":00"; } else { echo ":30";}
 
if ($heure_deb < 10) {
$heure_debut = "0".$heure_deb;
}
else {
$heure_debut = $heure_deb;
}
 
$heure_finplanning = $heure_fin;
 
if ($i%2) {
  $heure_debut .=":00:00"; 
  $heure_finplanning .=":30:00"; 
}
else 
{
  $heure_debut .=":30:00"; 
  $heure_finplanning +=1; 
  $heure_finplanning .=":00:00"; 
}
 
  echo "</td>";
  /*vont rentrer ici tous les évènements du jour courant*/
  $events = mysql_query($sql);
  while ($event = mysql_fetch_assoc($events)) {
    if ($heure_debut == $event['heure_debut']) { 
      echo "<td class='type".$event['type']."' rowspan='2'>";
      echo '<strong>';
      echo $event['nom_client']."</strong> (".$event['designation'].")";
    }
    else {
      echo "<td>";
    }
  }
 
  echo "</td><td";
  $events1 = mysql_query($sql1);
  while ($event1 = mysql_fetch_assoc($events1)) {
    if ($heure_debut == $event1['heure_debut']) { 
      echo " class='type".$event1['type']."'><strong>".$event1['nom_client']."</strong> (".$event1['designation'].")"; 
    }
    else {}
  }
 
  echo "</td><td";
  $events2 = mysql_query($sql2);
  while ($event2 = mysql_fetch_assoc($events2)) {
    if ($heure_debut == $event2['heure_debut']) { 
    echo " class='type".$event2['type']."'><strong>".$event2['nom_client']."</strong> (".$event2['designation'].")"; }
    else { }
  }
 
  echo "</td><td";
  $events3 = mysql_query($sql3);
  while ($event3 = mysql_fetch_assoc($events3)) {
  if ($heure_debut == $event3['heure_debut']) { 
  echo " class='type".$event3['type']."'><strong>".$event3['nom_client']."</strong> (".$event3['designation'].")"; }
  else {
 
  }
  }
 
  echo "</td><td";
  $events4 = mysql_query($sql4);
  while ($event4 = mysql_fetch_assoc($events4)) {
  if ($heure_debut == $event4['heure_debut']) { 
  echo " class='type".$event4['type']."'><strong>".$event4['nom_client']."</strong> (".$event4['designation'].")"; }
  else {
 
  }
  }
 
  echo "</td></tr>";
 
  if ($i%2) { } else { $heure_deb += 1; }
  }
Je joins également deux screenshots de ce que ca donne.
Merci