我有一个名为“Problems”的MySQL数据库:

  year  type  model
  ----  ----  -----
  2016  Cars  A
  2016  Cars  B
  2015  Cars  A
  2014  Cars  C
  2015  Vans  D
  2014  Vans  E

对于不同的“车型”,它列出了有问题的“车型”以及这些车型出现问题的年份。
我需要为每种类型的车辆创建一个单独的HTML表。在每个表中,我需要为每个模型创建一行,为每个年份创建一列。我将在单元格中使用“Y”来指定问题,使用句点(“.”)来指定没有问题。
也就是说,我需要创建以下两个HTML表:
汽车HTML表:
    2016    2015    2014
A    Y       Y       .
B    Y       .       .
C    .       .       Y

Vans的HTML表:
    2016    2015    2014
D    .       Y       .
E    .       .       Y

我将在PHP中使用mysqli来查询数据库和构造表。我想我可以对每个表分别进行查询,但这似乎不是最经济的方法。是否可以执行一个将返回有序行的查询,以便我基本上可以执行这样的迭代模式?
for type in types:
    // write start of <TABLE>
    for model in models:
        // write start of <TR>
        for year in years:
            // write <TD>
        // write close of <TR>
    //write close of <TABLE>

如果执行许多不同的查询更有意义,请给出建议。

最佳答案

您可以运行如下查询:

SELECT * FROM Problems ORDER BY VehicleType, VehicleModel, VehicleYear;

之后,使用上面显示的逻辑循环遍历结果。查询本身不会将行放在您想要的位置,但是您的查询结果将以一种允许您循环结果的方式进行排序,因此您所布置的逻辑应该可以正常工作。

关于php - MySQL JOIN为PHP中的多个HTML表安排结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37871278/

10-12 02:24