Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 动态构建两者<;th>';s<;tr>';s_Php_Mysql_Loops_While Loop - Fatal编程技术网

Php 动态构建两者<;th>';s<;tr>';s

Php 动态构建两者<;th>';s<;tr>';s,php,mysql,loops,while-loop,Php,Mysql,Loops,While Loop,表中的列数取决于表中的数据量。表中的行数基于不同表中的行数。下面是这些表格的一个示例 environments patches id | name id | name ____|______ ____|____________ 1 | dev 1 | firstPatch 2 | test 2 | secondPatch 3 | prod 3 | t

表中的列数取决于表中的数据量。表中的行数基于不同表中的行数。下面是这些表格的一个示例

environments        patches
  id | name           id |    name
 ____|______         ____|____________
   1 | dev             1 | firstPatch
   2 | test            2 | secondPatch
   3 | prod            3 | thirdPatch
我所寻找的最终结果将是以下

我知道如何使用
while()
循环来构建表头。我知道如何使用
while()
构建行

echo "<tr>";
while ($env = $listEnvs->fetch_assoc()){
    echo "<th>".$env['name']."</th>"
}
echo "</tr>";

--AND--

while ($patch = $listPatches->fetch_assoc()){
    echo "<tr><td>".$patch['name']."</td></tr>";
}
echo”“;
而($env=$listEnvs->fetch_assoc()){
回显“$env['name']”
}
回声“;
--及--
而($patch=$listPatches->fetch_assoc()){
回显“$patch['name']”;
}

我正在努力解决的是,每个补丁/环境对的单元都将包含从其他几个表中提取的数据。因此,了解
patch.id
以及
环境.id
非常重要。示例带有
x
的单元格是
patch.id=2,environment.id=1
在构造表时,如何确保每个单元格都有这些必要的信息?

尝试创建一个类似
$content[$patch.id][$environment.id]
的数组

然后您可以在
$patch
中添加
echo($content[$patch.id][$environment.id])
。您将遍历这些修补程序,因此
$patch.id
是已知的。对于
$environment.id
,您应该使用所有environment.id创建一个数组,并使用
$environment.id[i]
遍历它,其中
$i
应该随着每个新列的增加而增加(当新行开始时设置为0)

在(错误)伪代码中:

walkthrough environments {

    save array with environments
    echo table headers

}

walk through patches {

    echo table 'row headers'

    walk through environment array {

        echo content[patch.id][environment.id]

    }

}

你能指定桌子的外观吗?另外,您可能需要使用join将SQL行组合到一个表中,该表可以是html表的数据?我不确定这意味着什么。我的mysql知识相当有限。基本的
CRUD
stuffCheck SQL连接可能会对您有所帮助。要构建笛卡尔积表,您可以选择第一个表值(列),然后为每个表值从其他值构建行。我希望您理解我的意思,这有点难以描述;-)
walkthrough environments {

    save array with environments
    echo table headers

}

walk through patches {

    echo table 'row headers'

    walk through environment array {

        echo content[patch.id][environment.id]

    }

}