Php 如果(数据库)表列中有新变量,则在html表中添加列

Php 如果(数据库)表列中有新变量,则在html表中添加列,php,mysql,html-table,Php,Mysql,Html Table,我有一个名为“traffic”的表和两列“line”(超过50行)和“vehicle”(超过300行)。此表包含所有线路及其所依赖车辆的列表。每一行有几辆车,我需要按行将它们(车)分组 line | vehicle ______________________ line_a | veh1 line_a | veh12 line_a | veh123 line_b | veh14 line_b | veh15 line_b | veh16 line_c | ve

我有一个名为“traffic”的表和两列“line”(超过50行)和“vehicle”(超过300行)。此表包含所有线路及其所依赖车辆的列表。每一行有几辆车,我需要按行将它们(车)分组

line     | vehicle
______________________
line_a   | veh1
line_a   | veh12
line_a   | veh123
line_b   | veh14
line_b   | veh15
line_b   | veh16
line_c   | veh17
line_c   | veh18
预期产量

line_a   |    line_b   |    line_c   | .... to line 50
______________________________________
veh1          veh14         veh17
veh12         veh15         veh18
veh123        veh16
有什么办法吗?

  • 将所有文件加载到php数组
  • 迭代一次并通过$helparr[$line]=array()收集唯一的行,但也收集每行数组的值\u push($helparr[$line],$vehicle)
  • 再次迭代:对于所有$helparr(输出$line,对于所有$helparr[$line](输出$vehicle))

…我猜,您一半的编码工作现在已经完成了…

首先,您需要从数据库中获取所有记录, 这里我使用的是一个演示数组
$input
,举个例子,当您从数据库获取数据时,您不需要这个数组,您可以从
foreach

<?php 
$input = array(0=>array('line'=>'line_a','vehicle'=>'veh1'),
               1=>array('line'=>'line_b','vehicle'=>'veh2'),
               2=>array('line'=>'line_c','vehicle'=>'veh6'),
               3=>array('line'=>'line_a','vehicle'=>'veh5'),
               4=>array('line'=>'line_c','vehicle'=>'veh9')
         );

$newArr =array();
foreach($input as $key =>$val)
{
    $newArr[$val['line']][] = $val['vehicle'];
}
echo "<pre>"; print_r($newArr);

?>
您的车辆将根据各自的行进行分类,您可以使用
$newArray
根据需要进行打印。
我希望这对你有用

我更喜欢php来做这项工作,第一步是访问数据库中的所有表。当所有的表都被提取出来后,循环遍历表数组,并为每个表构建一个具有所需输出的新HTML表!祝你好运,如果你有代码,你被卡住了,让我们知道
Array
(
    [line_a] => Array
        (
            [0] => veh1
            [1] => veh5
        )

    [line_b] => Array
        (
            [0] => veh2
        )

    [line_c] => Array
        (
            [0] => veh6
            [1] => veh9
        )

)