可以得到一些与Safari 3和Safari浏览器的工作,但即将不会有一块它。我为每个列表输出一个购物分类列表和子分类列表。可以这样做吗? (多列ul)
这是我得到的(不工作到目前为止)..任何帮助将是最受欢迎的。
<div style="float:left; width: 232px;">
<?
$rowcount = 1;
$strSql = "SELECT * FROM Category ORDER BY CategoryName ASC";
$r = $db->select($strSql);
while ($row=$db->get_row($r, 'MYSQL_ASSOC')) {
$CategoryID = $row['CategoryID'];
$CategoryName = $row['CategoryName'];
?>
<div style="width: 232px; background-color:#f2f2f2; padding: 5px; margin-top: 5px; -webkit-border-radius: 4px; border-radius: 4px; overflow:hidden; padding-left: 5px;">
<h1><a href="/<?=$colour?>/<?=$CategoryURL?>/" ><?=$CategoryName?></a></h1>
<ul>
<?
$strSql2 = "SELECT
SubCategory.SubCategoryID,
SubCategory.SubCategoryName,
SubCategory.SubCategoryURL,
SubCategory.CategoryID
FROM
SubCategory
WHERE
CategoryID = $CategoryID
ORDER BY
SubCategoryName";
// echo "<pre>$strSql</pre>";
$r2 = $db->select($strSql2);
while ($row2=$db->get_row($r2, 'MYSQL_ASSOC')) {
$SubCategoryID = $row2['SubCategoryID'];
$SubCategoryName = $row2['SubCategoryName'];
$SubCategoryURL = $row2['SubCategoryURL'];
?>
<li><a href="/<?=$colour?>/<?=$CategoryURL?>/<?=$SubCategoryURL?>/"><?=$SubCategoryName?> (<?=$rowcount?>)</a></li>
<?
$rowcount++;
if ($rowcount == 35) { echo"</ul></div><div style=\"float:left; width: 232px;\"><ul>"; $rowcount = 0;}
} // end get SubCategory
?>
<? if ($rowcount == 0) { echo""; } else {echo"</ul>";} ?>
</div>
<? } // end get category list
?>
</ul> <!-- END CATEGORY UL -->
</div>
</div>
如果这是一个CSS布局问题,那么所有的PHP/MySQL都是不相关的。你可以请张贴输出的HTML标记,而不是PHP吗? – 2012-07-17 21:13:01
确切的问题是什么?你想让他们连续排队,但他们在每条线都打破?此外,它看起来像你会有一些奇怪的关闭。输出的HTML是你期望看到的吗?我问的原因是如果rowcount == 35你关闭子类别ul并打开另一个div和ul。因此,看起来如果您达到35行,则将其关闭,并结束子类别w /空div和空ul。 – Brodie 2012-07-17 21:26:35
我可以用错误的方法来获得最终结果。最终结果就是你期望看到的是,如果你已经将大量的ul转化为四列布局。如果有一个打开的列表,我希望它包围并继续下一列。理想情况下,我想确定整个列表是否适合列的剩余高度,如果不是完整列表在没有突破的情况下创建新列,但我不知道如何开始工作。 – mlweb 2012-07-17 23:01:49