可能会创建一个包含MySQL表数据的溢出表



我有一个网页,它显示了一个表,列出了50种产品,其中包含mysql表中的产品信息(ID、价格、库存和颜色)。

由于我正在为特定的分辨率和系统设计这个网页,我希望将信息并排显示在两个表中,而不是使用一个带有溢出滚动条的表。

目前,我已经通过使用相邻放置的两个表来做到这一点,然后使用"介于"功能将一半的产品插入每个表中,通过产品ID选择每一半:

表1:

"SELECT * FROM products WHERE ID between '01' AND '25'"

和表2:

"SELECT * FROM products WHERE ID between '26' AND '50'" 

这是有效的,并且达到了我最初想要的效果,但由于我也想添加"排序依据"按钮,所以这个选项不起作用。例如,如果我想按颜色对表格进行排序,那么这两个表格将只对其指定的一半数据进行排序。

有人知道是否可以创建一个单独的溢出表,它将继续按顺序列出两个表中的信息,就像它只是一个表一样?

允许我使用:

"SELECT * FROM products"

具有相关的"排序"选项。

谢谢。

我想向您介绍一下我写的一篇关于将数组拆分为多列数据的文章,类似于array_cchunk()的工作方式,但"垂直",这意味着您可以将排序应用于单个SQL查询,然后拆分数组输出,并在"数据表"中循环

https://stackoverflow.com/a/8735136/61795

function array_chunk_vertical($array,$cols = 3, $pad = array(null))
{
if (is_array($array) == true and empty($array) != true)
{
// total items in the array
$count = count($array);
// count the number of vertical rows
$rows = ceil($count/$cols);
// group the array into colums
$array = array_chunk($array,$rows);
// if the array is less that the number of cols required
// pad it to ensure length remains constant
if (count($array) < $cols)
{
$array = array_pad($array,$cols,$pad);
}
// pad the array with a null character as required
foreach($array as $key => $value)
{
$array[$key] = array_pad($value,$rows,null);
}
// now inverse the rows with the cols
foreach($array as $key => $value)
{
foreach($value as $sub_key => $sub_value)
{
$output[$sub_key][$key] = $sub_value;
}
}
// spit it out
return $output;
}
else
{
// oops
return $array;
}
}

最新更新