我有一个网页,其中显示了一个表格,其中列出了包含mysql表格中产品信息(ID,价格,库存和颜色)的50种产品。
当我为特定分辨率和系统设计此网页时,我想并排显示两个表中的信息,而不是使用一个带有溢出滚动条的表。
目前我通过使用彼此相邻的两个表格然后将一半产品插入每个表格并使用“之间”功能按产品ID选择每一半来完成此操作:
表1:
"SELECT * FROM products WHERE ID between '01' AND '25'"
和表2:
"SELECT * FROM products WHERE ID between '26' AND '50'"
这可行并且做了我最初想要的但是因为我还想添加'sort by'按钮这个选项不起作用。例如,如果我想按颜色对表进行排序,则两个表只会对其指定的一半数据进行排序。
有没有人知道是否可以创建一个单独的溢出表,它只会继续按顺序列出两个表中的信息,就好像它只是一个表一样?
允许我使用:
"SELECT * FROM products"
使用相关的“排序”选项。
感谢。
答案 0 :(得分:0)
我想指出一篇关于将数组拆分为多列数据的帖子,类似于array_chunk()的工作方式但是“垂直”,这意味着您可以将排序应用于单个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;
}
}