我試圖構建一個非常簡單的圖表或流程圖表示的建築物。具有偶數行中的甚至單元格的HTML表格(colspan)
$floors = array( array('app_1','app_2','app_2_A'),
array('app_3','app_4','app_5'),
array('app_6','app_7', 'app_8','app_9') ,
array('app_10','app_11', 'app_12','app_13') ,
array('app_14','app_15', 'app_16') ,
);
echo "<table border='2'>";
foreach ($floors as $floor) {
$total_app = count($floor);
echo "<tr>";
for($i = 0;$i < $total_app; $i++){
echo "<td colspan=" .$total_app. ">";
echo $floor[$i] . ' (' . $total_app . ') '; //brackets only for debug
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
結果是:
問題是:客戶機想要的所有行是相等的寬度,而不是所有的樓層具有相同數量的公寓。
所以我想我會用'colspan'。 (在代碼echo "<td colspan=" .$total_app. ">";
)
問題(2):腳本需要在100個不同的建築物上工作,因此任何低於「colspan」的完整動態計算都不能工作。根據我的理解,它實際上是相對於我擁有的最大單元數(元素數最多的那一行)。
如果這是真的,那麼我需要知道哪個數組元素(樓層)具有最高數量(公寓) - 然後將其設置爲標題 - 但我不知道該怎麼做。
所以
我怎麼能算嵌套數組中的元素,並比較他們看到了「人口最多的地板」
已經這樣做了 - 我怎麼能計算
colspan
每個與最大值相關的一排公寓。 (colspan
可以只有int()而不是分數或百分比)一個建築物被認爲是從下到上,從上到下作爲一個表,所以我需要翻轉數組,但保留'colspan'的計算
最後但並非最不重要 - 我可能會看到這一切都錯了,可能有一個更簡單的方法來實現想要的結果(也許divs?) - 但我現在看不到一個 - 所以如果存在的話 - 請做'拍'我並給我指路..
編輯我
就像之前說:該解決方案必須爲所有配置靈活: 例子:
$floors = array( array('app_1','app_2','app_2_A','app_2_B','app_2_C', 'app_2_D'),
array('app_3','app_4','app_5'),
array('app_6','app_7') ,
array('app_10','app_11', 'app_12','app_13') ,
array('app_14') ,
);
因此,任何試圖「硬編碼」合併單元格的計算會失敗.. 我需要的行(地板)的寬度是相等的,對於單元格(公寓)來填充每一行到滿的方式,例如如果我有2個公寓,每個寬度將爲50%,如果我有4個公寓,每個都是25%,3公寓 - 33%等。
問題是如何儘可能地用colspan
或用任何其他方法來達到這個目的。
1 - 並非所有單元格都需要具有相同的寬度 - 但是所有行都需要。 (樓層)。 2 - 您的解決方案給出和未定義的索引錯誤,我可以修復,但也 - 它不適用於所有配置 - 請參閱我編輯我 –
thx,並修改代碼,檢查它的屏幕截圖:http:///imgur.com/M4vvWZv –
這是好得多..但我的目標是細胞填充行,。所以如果只有2個單元格,每個單元格將佔總數的一半。 –