xloouch
Erfahrenes Mitglied
Hallo zusammen
Ich habe ein kleines Problem.
Ich übergebe einer Funktion einen zweidimensionalen Array..
in diesem Array hat es an verschiedenen Punkten ein Element, welche mehrere cols lang sein können.
Nun kommt aber das Hauptproblem.. Wie wandle ich diesen zweidimensionalen Array richtig in eine Tabelle um:
Hier der Beispielarray:
Wenn ich diesen Array in eine Tabelle umwandle, verschiebt es mir teilweise die anderen Felder:
Funktion:
Hier der Output in HTML:
Hatte jemand schon so ein Problem mit dem Colspan
Falls ja, kann derjenige mir sagen, wie er das Problem angegangen / gelöst hat?
Danke im vorraus für eure Hilfe
Ich habe ein kleines Problem.
Ich übergebe einer Funktion einen zweidimensionalen Array..
in diesem Array hat es an verschiedenen Punkten ein Element, welche mehrere cols lang sein können.
Nun kommt aber das Hauptproblem.. Wie wandle ich diesen zweidimensionalen Array richtig in eine Tabelle um:
Hier der Beispielarray:
PHP:
Array
(
[0] => Array
(
[0] => Zeit
[1] => 8:00
[2] => 8:30
[3] => 9:00
[4] => 9:30
[5] => 10:00
[6] => 10:30
[7] => 11:00
[8] => 11:30
[9] => 12:00
[10] => 12:30
[11] => 13:00
[12] => 13:30
[13] => 14:00
[14] => 14:30
[15] => 15:00
[16] => 15:30
[17] => 16:00
[18] => 16:30
[19] => 17:00
[20] => 17:30
[21] => 18:00
)
[1] => Array
(
[0] => SZ Bibliothek
[2] => Array
(
[STATUS] => 1
[Duration] => 6
[WER] => rgn
[ID] => 1
[Title] => asdf
)
[12] => Array
(
[STATUS] => 1
[Duration] => 4
[WER] => rgn
[ID] => 5
[Title] => zusatzbesprechung
)
)
[2] => Array
(
[0] => SZ Hauptgebäude
[3] => Array
(
[STATUS] => 1
[Duration] => 1
[WER] => rgn
[ID] => 2
[Title] => asdfasdfa
)
)
[3] => Array
(
[0] => SZ Nebengebäude
[15] => Array
(
[STATUS] => 1
[Duration] => 2
[WER] => dg
[ID] => 4
[Title] => dani
)
)
[4] => Array
(
[0] => SZ Dachgeschoss
[1] => Array
(
[STATUS] => 1
[Duration] => 19
[WER] => rgn
[ID] => 6
[Title] => test dachgeschoss
)
)
)
Wenn ich diesen Array in eine Tabelle umwandle, verschiebt es mir teilweise die anderen Felder:
Funktion:
PHP:
$source_array=$this->generateCalendarArray(@$this->result_array,$this->rooms,$this->zeiten);
//print_r($source_array);
echo "<br /><br />";
$count_rows=count($source_array[0]);
$count_cols=count($source_array);
$s = "<div >\n";
$s .= "<table class=\"dayview\" border=\"0\">\n";
$s .= "<caption> Tagesübersicht</caption>";
$s .= "<thead>";
$s .= "<tr><td colspan=\"".$count_cols."\">";
$s .= "Reservationen vom $day.$month.$year. <input type=\"hidden\" name=\"datum\" value=\"$day.$month.$year\" />";
$s .= "</td></tr>";
$s .= "</thead>";
$s .= "<tbody>\n";
$count="";
$color_reserviert="";
for($j=0;$j<$count_rows;$j++){
$s .= "<tr>\n";
if($j==0){
for ($i=0; $i<$count_cols;$i++){
$s.="<th>".$source_array[$i][0]."</th>\n";
}
} else {
for($i=0;$i<$count_cols;$i++){
if($i!=0 && @$source_array[$i][$j]){
if(@!isset($source_array[$i][$j]["STATUS"])){
$source_array[$i][$j]["STATUS"]=0;
}
if($source_array[$i][$j]["STATUS"]==1 && @$source_array[$i][$j]["Duration"]>0){
$s.="<td style=\"background-color:#FF0000; vertical-align:top;\" rowspan=\"".$source_array[$i][$j]["Duration"]."\">".$source_array[$i][$j]["Title"]."<br/> dauer:".$source_array[$i][$j]["Duration"]."</td>";;
}elseif(empty($source_array[$i][$j])){
//elseif(@$source_array[$i][$j]["STATUS"]==0 && @$source_array[$i][$j]["Duration"]>0){
$s.="<td></td>\n";
} else {
$s.="";
}
$count=@$source_array[$i][$j]["Duration"];
} else {
//echo $count;
if($count>0 && $count--){
echo $count;
$s.="";
} else {
$s.="<td>".@$source_array[$i][$j]."</td>\n";
}
}
}
}
$s .="</tr>\n";
$count=0;
}
$s .= "</tbody>";
$s .= "</table>";
$s .= "</div>";
return $s;
Hier der Output in HTML:
HTML:
<table class="dayview" border="0">
<caption> Tagesübersicht</caption><thead><tr><td colspan="5">Reservationen vom 5.12.2008. <input type="hidden" name="datum" value="5.12.2008" /></td></tr></thead><tbody>
<tr>
<th>Zeit</th>
<th>SZ Bibliothek</th>
<th>SZ Hauptgebäude</th>
<th>SZ Nebengebäude</th>
<th>SZ Dachgeschoss</th>
</tr>
<tr>
<td>8:00</td>
<td></td>
<td></td>
<td></td>
<td style="background-color:#FF0000; vertical-align:top;" rowspan="19">test dachgeschoss<br/> dauer:19</td></tr>
<tr>
<td>8:30</td>
<td style="background-color:#FF0000; vertical-align:top;" rowspan="6">asdf<br/> dauer:6</td></tr>
<tr>
<td>9:00</td>
<td></td>
<td style="background-color:#FF0000; vertical-align:top;" rowspan="1">asdfasdfa<br/> dauer:1</td><td></td>
</tr>
<tr>
<td>9:30</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>10:00</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>10:30</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>11:00</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>11:30</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>12:00</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>12:30</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>13:00</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>13:30</td>
<td style="background-color:#FF0000; vertical-align:top;" rowspan="4">zusatzbesprechung<br/> dauer:4</td></tr>
<tr>
<td>14:00</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>14:30</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>15:00</td>
<td></td>
<td></td>
<td style="background-color:#FF0000; vertical-align:top;" rowspan="2">dani<br/> dauer:2</td></tr>
<tr>
<td>15:30</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>16:00</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>16:30</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>17:00</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>17:30</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>18:00</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody></table>
Hatte jemand schon so ein Problem mit dem Colspan
Falls ja, kann derjenige mir sagen, wie er das Problem angegangen / gelöst hat?
Danke im vorraus für eure Hilfe
Zuletzt bearbeitet: