-1

我正在尝试创建一个 html 表格并以表格格式显示内容

说明:- 我有一个带有逗号(,)分隔值的内容,例如:a、b、c、d、e、f 我的行数为 ex:4 我的列数为 ex:5

这三个信息在获取数据时存储在 DB 中,它应该创建一个表,其中包含 DB 中指定的行数和列数,并且内容应该加载到表中,就像每个值(逗号分隔)应该在一个单元格中一样

到目前为止我尝试过的代码:

$resultSet = mysql_query("SELECT * FROM table1");
$result = mysql_fetch_array($resultSet);
$tableContent = $result[0];
$tableResult = explode(',',$tableContent);
foreach($tableResult as $tabRes) {
echo $tabRes."<br/>";
}
$rows = $result[1];
$cols = $result[2];
$table = "<table border=\"1\">";
for($i=1; $i<=$rows; $i++){
    $table .= "<tr>";
    for($j=1; $j<=$cols; $j++){
        foreach($tableResult as $tabRes) {
        $table .= "<td>$tabRes</td>";
        }
    }
    $table .= "</tr>";
}
$table .= "</table>";
echo $table;
4

2 回答 2

2

让你靠近tr第一个循环块。

    $table .= "</tr>";
  }

代替

  }
    $table .= "</tr>";
于 2012-07-12T06:54:52.210 回答
1

编辑答案:

$resultSet = mysql_query("SELECT * FROM table1");
$result = mysql_fetch_array($resultSet); 
$content = $result[0];
$rows = $result[1];
$columns =  $result[2];

$cellcontent = explode(',', $content);
$table = '<table border="1">'; 
for($i = 0; $i < $rows; $i++) {
    $table .= '<tr>'; 
    for($j = 0; $j < $columns; $j++) { 
        $table .= '<td>'.$cellcontent[$j].'</td>';
    }
    $table .= '</tr>'; 
}
$table .= '</table>'; 
echo $table;

编辑:

为了更好地理解,我尝试在这里查看数据库(这是我从阅读您的问题中了解到的):

|  Content    | rows | columns |
| a,b,c,d,e,f |   3  |    6    |

那正确吗?还是有更多的条目?像这样:

|  Content    | rows | columns |
| a,b,c,d,e,f |   3  |    6    |
| g,h,i,j,k,l |   1  |    6    |
| m,n,o,p,q,r |   5  |    6    |

还是内容更长,需要分成行和列(第一个内容单元格有 2 x 6 内容,所以第一行在第一行,第二行在第二行)?

|  Content    | rows | columns |
| a,b,c,d,e,f |   2  |    6    |
| g,h,i,j,k,l |      |         |
| ------------|------|---------|
| g,h,i,j,k,l |   1  |    6    |
| m,n,o,p,q,r |   5  |    6    |

因为现在,我每次都重复同一行。

于 2012-07-12T06:56:24.670 回答