我想表明我的Virtuemart网店的类别列表,竖向排序相同的方式,显示在此示范: http://www.inkplant.com/code/mysql-vertical-sort.php显示行
所以我借了代码:
<?php
$cols = 4; //number of columns, you can set this to any positive integer
$values = array();
$result = mysql_query("SELECT * FROM states ORDER BY name");
$numrows = mysql_num_rows($result);
$rows_per_col = ceil($numrows/$cols);
for ($c=1;$c<=$cols;$c++) { $values['col_'.$c] = array(); }
$c = 1;
$r = 1;
while ($row = mysql_fetch_assoc($result)) {
$values['col_'.$c][$r] = stripslashes($row['name']);
if ($r == $rows_per_col) { $c++; $r = 1; } else { $r++; }
}
echo "<table>" ;
for ($r=1;$r<=$rows_per_col;$r++) {
echo "<tr>" ;
for ($c=1;$c<=$cols;$c++) { echo "<td>".$values['col_'.$c][$r]."</td>" ; }
echo "</tr>" ;
}
echo "</table>" ;
unset($values);
?>
然后我试着用这个结果来修改它在我的Virtuemart类别的模板文件:
<?php
$cols = 3; //number of columns, you can set this to any positive integer
$values = array();
$numrows = $precounterdigit;
$rows_per_col = ceil($numrows/$cols);
for ($c=1;$c<=$cols;$c++) { $values['col_'.$c] = array(); }
$c = 1;
$r = 1;
foreach ($this->category->children as $category) {
$catname = $category->category_name;
$caturl = JRoute::_ ('index.php?option=com_virtuemart&view=category&virtuemart_category_id=' . $category->virtuemart_category_id);
$values['col_'.$c][$r] = '<div class="category floatleft'.$category_cellwidth.'">
<div class="spacer"><h2>
<a href="'.$caturl.'" title="'.$catname.'">
'.$catname.'<br /></a></h2>
</div></div>';
if ($r == $rows_per_col) { $c++; $r = 1; } else { $r++; }
}
echo '<div class="tablediv">' ;
for ($r=1;$r<=$rows_per_col;$r++) {
echo '<div class="row">' ;
for ($c=1;$c<=$cols;$c++) { echo $values['col_'.$c][$r]; }
echo '</div>' ;
}
echo '</div>' ;
unset($values);
?>
它真实地反映了完美在类别视图中,如果类别的数量可以被3除或3-1可除。这意味着如果页面上有3,5,6,8,9,11,12等等类别,它就会正确显示。
如果类别的数量等于一个数,它是3 +1然后它示出了在不可思议的方式可分割..
这里是它如何示出了示例,当有9类:
Cat1 | Cat4 | Cat7
Cat2 | Cat5 | Cat8
Cat3 | Cat6 | Cat9
这里是它是如何显示的例子时,有8类:
CAT1 | Cat4 | Cat7
Cat2 | Cat5 | Cat8
Cat3 | Cat6 |
这里是它是如何给出了一个例子时,有7类:
CAT1 | Cat4 | Cat7
Cat2 | Cat5 | Cat3
Cat6 |
我真想不通这一个,所以我希望有人能帮助我一点点在这里..
我认为这是一个CSS问题,你可以显示您的表格div的生成HTML? – Ibu 2013-04-20 02:05:19
你是对的。我发现我的问题可以通过对“row”类进行一些小的css调整来解决。 – GeniusDesign 2013-04-20 03:34:04