以表格格式显示内容

时间:2012-07-12 06:47:15

标签: php mysql html

我正在尝试创建一个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;

2 个答案:

答案 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    |

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