2014-04-03 85 views
3

我的问题如下所示:我有3个产品A,B和C.它们具有不同的值,它们存储在数据库中。从数据库获取数据并将其组织2 2 2

我有6列是这样的:

1 2 3 4 5 6 
7 8 9 ... 

目前我的价值递增显示。我想通过值递增,以显示他们亦自2×2,在列,就像这样:

1A 2A 3B 4B 5C 6C 
7A 8A 9B ... 

我不很了解SQL,所以我不知道到底有多责令其像呼应这个。我还想将它们保存在数组中,并将它们显示为echo $ data_A [$ i]。$ data_A [$ i + 1];但如果产品数量不相等,则看起来不正确。

我想用html在php中显示它们。我有一个600宽度的容器,每个div有100宽度。

我想先在每行上展示2款产品,分别是数学书籍,下2本物理书籍和2本英文书籍。

s

绿色边框显示他们是如何通过产品类型分组。 感谢

+3

蚂蚁行军2 2,欢呼,欢呼。 蚂蚁走进2,2,欢呼,欢呼。 蚂蚁走进2由2, 小一个停下来绑他的鞋.... – AbraCadaver

+0

有趣的一点,但任何答案? :D – Alex7

+1

我不清楚你的数据库模式是什么,你的数据是什么,你的选择语句是什么......我们需要更多的细节。 – thebjorn

回答

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>"; 
+0

好吧,我可以理解,但你能更好地解释数据si如何添加到A-DIV吗? – Alex7

+0

我已经更新了一些更详细的答案(php不是我的母语,所以拿一点盐的语法。) – thebjorn

+0

好的,谢谢我现在明白你想说什么。但我不知道我是否可以像这样组织这些div。目前他们正在输出,正如我所解释的:1 2 3 4 5 6达到7时移动到下一行。你的例子si好,我会尝试创建div来做到这一点。 – Alex7