这是我将数据从数据库获取到html表的代码。但是列大小会随着细节的大小而扩大。我需要一个固定大小的列。请帮助我获得固定大小的列。
<?php
ini_set ('display_errors',0);
?>
<!DOCTYPE html>
<?php
require_once 'issue_tracker_connection.php';
mysql_select_db('issue_tracker');
$sql = "SELECT * FROM issue_tracker";
$records = mysql_query($sql);
?>
<html>
<head>
<style>
table th, td{
table-layout:fixed;
border: 1px solid black;
border-collapse: collapse;
align:center;
}
</style>
</head>
<body>
<?php
echo '<table >';
$columns = array();
$resultset = array();
while ($row = mysql_fetch_assoc($records)) {
if (empty($columns)) {
$columns = array_keys($row);
echo '<tr><th>'.implode('</th><th>', $columns).'</th></tr>';
}
$resultset[] = $row;
echo '<tr><td >'.implode('</td><td>', $row).'</td></tr>';
}
echo '</table>';
?>
</body>
</html>
答案 0 :(得分:0)
试试这个:
<?php
echo '<table width="100%" cellspacing="0" cellpadding="2" border="0">';
$columns = array();
$resultset = array();
while ($row = mysql_fetch_assoc($records)) {
if (empty($columns)) {
$columns = array_keys($row);
echo '<tr><th>'.implode('</th><th>', $columns).'</th></tr>';
}
$resultset[] = $row;
echo '<tr><td >'.implode('</td><td>', $row).'</td></tr>';
}
echo '</table>';
?>
答案 1 :(得分:0)
您还可以设置标签的大小...... 现在试试吧......
private final class EntrySet extends AbstractSet<Map.Entry<K,V>> {
public Iterator<Map.Entry<K,V>> iterator() {
return newEntryIterator();
}
public boolean contains(Object o) {
if (!(o instanceof Map.Entry))
return false;
Map.Entry<K,V> e = (Map.Entry<K,V>) o;
Entry<K,V> candidate = getEntry(e.getKey());
return candidate != null && candidate.equals(e);
}
public boolean remove(Object o) {
return removeMapping(o) != null;
}
public int size() {
return size;
}
public void clear() {
HashMap.this.clear();
}
}
答案 2 :(得分:0)
试试这个..
<table class="fixed">
<col width="20px" />
<col width="30px" />
<col width="40px" />
<tr>
<td>text</td>
<td>text</td>
<td>text</td>
</tr>
</table>
和CSS:
table.fixed { table-layout:fixed; }
table.fixed td { overflow: hidden; }
检查原始答案here。