Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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 从多维数组创建自定义html表_Php_Arrays_Database - Fatal编程技术网

Php 从多维数组创建自定义html表

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" }

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"
  }
  [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>';