咆哮: on
當顯示錶格數據時,使用table
而不是浮動div
。在禁用css的情況下查看頁面時,這是有意義的。如果您使用浮動的div
,那麼您的數據將全部顯示下來。並非所有的table
使用情況都很糟糕。人們經常討厭table
這麼多,所以使用浮動div
。當用於頁面佈局時,Table
只有很差。
咆哮:關
當我需要有一些打開,關閉,並在兩者之間多餘的字符,我會利用implode
顯示某些內容。這是例子:
$data = array('column 1', 'column 2');
$output = '<div>'.implode('</div><div>', $data).'</div>';
//result: <div>column 1</div><div>column 2</div>
您可以將其擴展到幾乎任何東西。 Array
和implode
是php有多年的功能。你永遠不需要任何if
來檢查它是否最後一個元素,然後插入結束字符,或者檢查它是否是第一個元素,然後插入開始字符,或者在元素之間打印另外的字符。
希望得到這個幫助。
更新:
我的壞誤讀問的主要問題。很抱歉的言論;) 這裏是我的代碼,以使在2列中顯示的數據:
//for example, I use array. This should be a result from database
$data = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
//should be 12 month, but this case there are only 9 of it
for ($i = 0; $i <= 5; $i++)
{
//here I do a half loop, since there a fixed number of data and the item for first column
$output = '<div class="left">'.$data[$i].'</div>';
if (isset($data[$i+6])
{
$output = '<div class="right">'.$data[$i+6].'</div>';
}
echo $output."\n";
}
//the result should be
//<div class="left">1</div><div class="right">7</div>
//<div class="left">2</div><div class="right">8</div>
//<div class="left">3</div><div class="right">9</div>
//<div class="left">4</div>
//<div class="left">5</div>
//<div class="left">6</div>
使用CSS來格式化輸出,所以你只要把div
自上而下的其他解決方案,那麼CSS使父容器僅垂直放置6個項目,並將其餘部分放在現有內容的右側。我不太瞭解它,因爲它通常由其他CSS設計師或我的客戶提供。
您是否需要以某種方式排序或格式化單獨的列表? – 2010-01-30 02:35:19
嗯,內容/演示分離人羣讓我們都運行不合適的div。這是表格數據,因此請使用表格。 – Mike 2010-01-30 02:36:41
從他所問的問題來看,我認爲這聽起來像他在創建兩列表格時會遇到同樣的困難。 – 2010-01-30 02:43:21