咆哮: 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