我的问题看起来像这样:我有3个产品A,B和C.它们有不同的值,它们存储在数据库中。
我有6个这样的列:
1 2 3 4 5 6
7 8 9 ...
目前我按值asc显示它们。我希望按值asc显示它们,并按列分组2乘2,如下所示:
1A 2A 3B 4B 5C 6C
7A 8A 9B ...
我不太了解sql所以我真的不知道如何命令它们像这样回应。我还想把它们保存在数组中并像echo $ data_A [$ i]一样显示它们。$ data_A [$ i + 1];但如果产品数量不相等,那么看起来就不对了。
我想在php中用html显示它们。我有一个宽度为600的容器,每个div有100个宽度。
我希望每行显示2个产品为数学书籍,接下来的2本物理书籍和2本英语书籍。
绿色边框显示它们如何按产品类型分组。 感谢
答案 0 :(得分:1)
我会订购sql,以便所有A
产品都在所有B
产品之前,然后按ID排序:
select ... order by product, id
(asc是默认值)。
然后我将填充三个"列"作为div
元素并向其添加float:left
(伪代码 - 自从我执行php以来它已经有一段时间了......):
echo "<div id=A style='float:left'>";
while ($data[$i].product == 'A') {
// add $data[$i] to the A-div
echo "<div class='data-item product-a' style='float:left'>";
echo $data[$i];
echo "</div>";
++$i;
}
echo "</div>";
echo "<div id=C style='float:left'>";
while ($data[$i].product == 'B') {
// add $data[$i] to the B-div here
++$i;
}
echo "</div>";
echo "<div id=C style='float:left'>";
while ($data[$i].product == 'C') {
// add $data[$i] to the C-div here
++$i;
}
echo "</div>";