Проблемы при создании таблицы с php из двумерного массива
Привет, это мой код, и хотя я ставлю rowspan на 3, он не генерирует таблицу правильно, я пытаюсь создать таблицу из двумерного массива с PHP, но при форматировании таблицы не получается так, как должно, я не нахожу ошибку, пожалуйста, помогите.
<table border="1">
<?php
//Primero creamos dos arrays $matriz_pablo y $matriz_roberto para luego insertarlas en un array general $matriz_general la que sera bidimensional
$matriz_pablo = array('nombre' => 'pablo', 'profesion' => 'ministro', 'edad' => '50');
$matriz_roberto = array('nombre' => 'roberto', 'profesion' => 'agricultor', 'edad' => '45');
$matriz_general = array('PABLO' => $matriz_pablo,'ROBERTO' => $matriz_roberto);
//A continuación imprimimos los valores de la matriz bidimensional.
//El Primer FOREACH muestra las claves de primer nivel PABLO y ROBERTO
foreach ($matriz_general as $key => $value) {
echo "<tr>"."<td rowspan='3'>".$key."</td>";//Se muetra la Clave
//El Segundo FOREACH mostrará las claves y valores de segundo nivel internos de la columna valor de primer nivel.
foreach ($value as $clave => $valor) {
echo "<tr>"."<td>".$clave."</td>"."<td>".$valor."</td>"."</tr>";
}
echo "</tr>";
}
?>
</table>
1
Author: Jean Devonne, 2018-01-09
2 answers
Если вы ожидаете такую таблицу в результате:
<table border="1">
<! fila 1->
<tr>
<td rowspan='4'>PABLO</td>
</tr>
<! fila 2->
<tr>
<td>nombre</td>
<td>pablo</td>
</tr>
<! fila 3->
<tr>
<td>profesion</td>
<td>ministro</td>
</tr>
<! fila 4->
<tr>
<td>edad</td>
<td>50</td>
</tr>
<tr>
<td rowspan='4'>ROBERTO</td>
</tr>
<tr>
<td>nombre</td>
<td>roberto</td>
</tr>
<tr>
<td>profesion</td>
<td>agricultor</td>
</tr>
<tr>
<td>edad</td>
<td>45</td>
</tr>
</table>
Вы должны изменить вот почему: echo "<tr>"."<td rowspan='3'>".$key."</td>";
echo "<tr>"."<td rowspan='4'>".$key."</td>";
, потому что это 4 строки, которые вы хотите собрать, а не 3.
Или придумать другой способ создания таблицы.
1
Author: A. Cedano, 2018-01-09 23:42:54
Я анализировал код, и я думаю, что мне удалось решить его с помощью rowspan = "3", удалив один из тегов и понизив на один уровень td
<table border="1">
<?php
//Primero creamos dos arrays $matriz_pablo y $matriz_roberto para luego insertarlas en un array general $matriz_general la que sera bidimensional
$matriz_pablo = array('nombre' => 'pablo', 'profesion' => 'ministro', 'edad' => '50');
$matriz_roberto = array('nombre' => 'roberto', 'profesion' => 'agricultor', 'edad' => '45');
$matriz_general = array('PABLO' => $matriz_pablo,'ROBERTO' => $matriz_roberto);
//A continuación imprimimos los valores de la matriz bidimensional.
//El Primer FOREACH muestra las claves de primer nivel PABLO y ROBERTO
foreach ($matriz_general as $key => $value) {
echo "<tr>"."<td rowspan='3'>".$key."</td>";//Se muetra la Clave
//El Segundo FOREACH mostrará las claves y valores de segundo nivel internos de la columna valor de primer nivel.
foreach ($value as $clave => $valor) {
echo "<td>".$clave."</td>"."<td>".$valor."</td>"."</tr>";
}
}
?>
</table>
1
Author: Jean Devonne, 2018-01-10 15:46:05