0
我有帶列標題的循環產生的表紋槽用30分鐘的時間間隔週五,時間序列爲24小時我剛纔縮短示例代碼:動態錶行跨度
$times = array(00:00, 00:30, 01:00, 01:30);
$skip = array();
$row = 1;
<table>
<tr>
<td>Time</td><td>Mon</td><td>tue</td>
<tr>
foreach($times AS $val){
$stmt = $mysqli->prepare("
SELECT `show`,`time_start`,`time_stop`,`show_day`
FROM `db_shows` WHERE `time_start`='$val'
");
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($myrow[show],$myrow[time_start],$myrow[time_stop],$myrow[show_day]);
$stmt->fetch();
// GET THE ROWSPAN
$a = new DateTime($myrow[time_start]);
$b = new DateTime($myrow[time_stop]);
$interval = $a->diff($b);
$res = $interval->format('%h');
$res *= 2;
$res += 1;
// ARRY FOR ROWS TO SKIP TD
code in second part
// APPLAY DISPLAY NONE IF NEEDED
code in second part
// BUILD COLUMNS
switch($myrow[show_day]){
case "":$tds = "<td> </td><td> </td>"; break;
case "mon":$tds = "<td rowspan="$res" style="$mon">$myrow[show]</td><td> </td>"; break;
case "tue":$tds = "<td> </td><td rowspan="$res" style="$tue">$myrow[show]</td>"; break;
}
<tr>
<td>$val</td>$tds
</tr>
$row++;
}
</table>
現在我的代碼工作正常使用rowspan生成表,但我知道必須根據行rowspan($ res)包含多少行來刪除下一行中必需的td。這可能是我跌倒出車的一部分:) 我試圖在這裏實現是獲得行號和「日TD」在隨後
// ARRY FOR ROWS TO SKIP TD
if($res >=2){
$rowCount = $res -1;
$rowSkip = $row;
for($i=1;$i <= $rowCount; $i++){
$rowSkip++;
$skip[$rowSkip] = $myrow[show_day];
}
}
// LOOK IF ROW HAVE VALUE
foreach($skip AS $key2 => $val2){
if($row == "$key2" && $myrow[show_day]="$val2"){
$$val2 = "display:none";
}
}
我行隱藏我甚至不確定我是否正在接觸關於正確問題的整個概念,任何幫助都將不勝感激。 謝謝!
在一天結束的時候我的表應該是這樣的:
你可以給你的數據你有什麼? –
當天的節目($ myrow [show_day]) 開始時間顯示(time_start) 停止時間顯示(time_stop) 顯示名稱($ myrow [show]) – user3744959
好吧我只想要數組。不是一個問題,我會讓它成爲我的自我。 –