我正在尝试创建一个html表并以表格格式显示内容
描述: - 我的内容有逗号(,)分隔值ex:a,b,c,d,e,f 我有行号: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;
答案 0 :(得分:2)
将tr
关闭到第一个循环块中。
写
$table .= "</tr>";
}
而不是
}
$table .= "</tr>";
答案 1 :(得分: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 |
因为现在,我每次只重复同一行。