如何使用php循环获取html表中的固定表列宽度

时间:2015-06-08 05:21:02

标签: php html

这是我将数据从数据库获取到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>

3 个答案:

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