Php 从多维数组创建自定义html表
2小时后,我正在寻找问题的解决方案,但尚未找到结果。我有一个数组$array,它是我用foreach循环从数据库中创建的。当我使用var_dump$array时,我得到以下结果:Php 从多维数组创建自定义html表,php,arrays,database,Php,Arrays,Database,2小时后,我正在寻找问题的解决方案,但尚未找到结果。我有一个数组$array,它是我用foreach循环从数据库中创建的。当我使用var_dump$array时,我得到以下结果: array(2) { [a1] => array(4) { [b1] => string(2) "32" [b2] => string(2) "98" [b3] => string(2) "45" [b4] => string(3) "654" }
array(2) {
[a1] => array(4) {
[b1] => string(2) "32"
[b2] => string(2) "98"
[b3] => string(2) "45"
[b4] => string(3) "654"
}
[a2] => array(3) {
[b1] => string(3) "677"
[b2] => string(2) "12"
[b3] => string(3) "430"
}
}
这里重要的是,我的数组$array存储从数据库中选择的信息,并以如下方式存储在$array中:
$array[a1][b1] = 32;
$array[a1][b2] = 98;
$array[a1][b3] = 45;
$array[a1][b4] = 654;
$array[a2][b1] = 677;
$array[a2][b2] = 12;
$array[a2][b3] = 430;
Html table wanted:
_____________________
| | a1 | a2 |
|______|______|______|
| b1 | 32 | 677 |
|______|______|______|
| b2 | 98 | 12 |
|______|______|______|
| b3 | 45 | 430 |
|______|______|______|
| b4 | 654 | |
|______|______|______|
tableA :
______________
| ID | NAME |
|______|______|
| 1 | a1 |
|______|______|
| 2 | a2 |
|______|______|
tableB :
______________
| ID | NAME |
|______|______|
| 1 | b1 |
|______|______|
| 2 | b2 |
|______|______|
| 3 | b3 |
|______|______|
| 4 | b4 |
|______|______|
现在我遇到的问题是如何在html表中显示$array,如下所示:
$array[a1][b1] = 32;
$array[a1][b2] = 98;
$array[a1][b3] = 45;
$array[a1][b4] = 654;
$array[a2][b1] = 677;
$array[a2][b2] = 12;
$array[a2][b3] = 430;
Html table wanted:
_____________________
| | a1 | a2 |
|______|______|______|
| b1 | 32 | 677 |
|______|______|______|
| b2 | 98 | 12 |
|______|______|______|
| b3 | 45 | 430 |
|______|______|______|
| b4 | 654 | |
|______|______|______|
tableA :
______________
| ID | NAME |
|______|______|
| 1 | a1 |
|______|______|
| 2 | a2 |
|______|______|
tableB :
______________
| ID | NAME |
|______|______|
| 1 | b1 |
|______|______|
| 2 | b2 |
|______|______|
| 3 | b3 |
|______|______|
| 4 | b4 |
|______|______|
我还需要一件事,表row1,2和col1,2,3,4的值以如下方式存储在数据库中的两个表中:
$array[a1][b1] = 32;
$array[a1][b2] = 98;
$array[a1][b3] = 45;
$array[a1][b4] = 654;
$array[a2][b1] = 677;
$array[a2][b2] = 12;
$array[a2][b3] = 430;
Html table wanted:
_____________________
| | a1 | a2 |
|______|______|______|
| b1 | 32 | 677 |
|______|______|______|
| b2 | 98 | 12 |
|______|______|______|
| b3 | 45 | 430 |
|______|______|______|
| b4 | 654 | |
|______|______|______|
tableA :
______________
| ID | NAME |
|______|______|
| 1 | a1 |
|______|______|
| 2 | a2 |
|______|______|
tableB :
______________
| ID | NAME |
|______|______|
| 1 | b1 |
|______|______|
| 2 | b2 |
|______|______|
| 3 | b3 |
|______|______|
| 4 | b4 |
|______|______|
如何将数组:$array显示到html表中,如所需的html表
非常感谢任何能在这个问题上帮助我的人。您似乎在问两个不同的问题:如何从数据库中创建多维数组,以及如何将其转换为HTML格式的X-Y表。是这样吗?不是。我从数据库中创建了多维数组,并且我把数组的结构放在。我只需要如何用这个数组创建html表谢谢,这正是我想要的。
//fetch values for a into associative array
$aValues = fetch_assoc("SELECT * tableA");
//fetch values for b into associative array
$bValues = fetch_assoc("SELECT * tableB");
$htmlTable = '<table>';
//adding header row
$htmlTable .= '<tr><td></td>';
foreach ($aValues as $aValue) {
$htmlTable .= '<td>' . $aValue['name'] . '<td>';
}
$htmlTable .= '</tr>';
//adding other rows, this assumes your $array is already generated
foreach ($bValues as $bValue) {
$htmlTable .= '<tr>';
$htmlTable .= '<td>' . $bValue['name'] . '</td>';
foreach ($aValues as $aValue) {
if (isset($array[$aValue['name']][$bValue['name']])) {
$cellValue = $array[$aValue['name']][$bValue['name']];
} else {
$cellValue = '';
}
$htmlTable .= '<td>' . $cellValue . '<td>';
}
$htmlTable .= '</tr>';
}
$htmlTable .= '</table>';