2014-10-02 89 views
0

我有这个表HTML/PHP - 表单元格分隔宽度

<table name='test'border='1' style='width: 100%'> 
    <tr> 
     <th valign='top' style='width: 9%'>No.</th> 
     <th valign='top' style='width: 9%'>Epitope/Cluster Sequence:</th> 
     <th valign='top' style='width: 9%'>Epitope ID:</th> 
     <th valign='top' style='width: 9%'>Source Organism</th> 
     <th valign='top' style='width: 9%'>Source Protein:</th> 
     <th valign='top' style='width: 9%'>MHC Restriction:</th> 
     <th valign='top' style='width: 9%'>RF Score:</th> 
     <th valign='top' style='width: 9%'>Assay Score:</th> 
     <th valign='top' style='width: 9%'>Assay Type:</th> 
     <th valign='top' style='width: 9%'>Effector Origin:</th> 
     <th valign='top' style='width: 9%'>Reference ID:</th> 
    </tr> 

我要添加下一个更行,并保持相同的宽度,在与分隔符的作品时,我只用了第一行测试,但添加了新行时,它不工作,我的代码中加入新行是:

function printResultI($array) 
{ 
    $i=0; 
    foreach($array as $row) { 
     $i=$i+1; 
     echo" 
     <tr> 
      <td style='width: 9%'>$i</td> 
      <td style='width: 9%'>$row[linear_sequence]</td> 
      <td style='width: 9%'>$row[E_ID]</td> 
      <td style='width: 9%'>$row[ant_source_organism_name]</td> 
      <td style='width: 9%'>$row[E_OBJECT_SOURCE_NAME]</td> 
      <td style='width: 9%'>$row[mhc_restriction]</td> 
      <td style='width: 9%'>$row[RFS]</td> 
      <td style='width: 9%'>$row[assay_score]</td> 
      <td style='width: 9%'>$row[AS_TYPE]</td> 
      <td style='width: 9%'>$row[effector_origin]</td> 
      <td style='width: 9%'>$row[unique_reference_id]</td> 
     </tr>"; 
     } 

} 

我觉得可能是我的回声引号内的问题,谢谢

回答

0

您可以通过设置样式表来处理所有的样式信息保存自己的时间和打字了很多 - 宽度,边框等,还可以使用下面的编码风格简化您的输出:

function printResultI($array) 
{ 
    # make an array of the pieces of information from $row that you want to get 
    $cols = array('linear_sequence', 'E_ID', 'ant_source_organism_name', 
     'E_OBJECT_SOURCE_NAME', 'mhc_restriction', 'RFS', 'assay_score', 'AS_TYPE', 
     'effector_origin', 'unique_reference_id'); 

    $i=0; 
    foreach($array as $row) { 
     $i=$i+1; 
     echo "<tr><td>$i</td>"; 
     # now go through the array and get the appropriate data. 
     foreach ($cols as $c) { 
      echo "<td>" . $row[$c] . "</td>"; 
     } 
     echo "</tr>"; 
    } 
} 

关于样式表,最好是让他们在一个单独的文件,但你可以使用<style>标签嵌入在HTML页面的<head>样式信息。以下是您使用的表格样式的示例:

<head> 
    <title>Document title here!</title> 
    <style type="text/css"> 
    table { 
     border: 1px solid #000; /* solid black border */ 
     width: 100%; 
    } 
    th, td { 
     width: 9%; /* sets all td and th elements to width 9% */ 
    } 
    th { 
     vertical-align: top; 
    } 
    </style> 
</head> 
+0

这很棒,以节省时间,谢谢!但是,我如何实现宽度问题?我非常感谢你的帮助 – 2014-10-02 22:06:50

+0

我添加了它,但它仍然生成一个大表,不知道是什么问题 – 2014-10-02 22:12:30

+0

http://pastebin.com/5zVC3NbF这是更少的代码,只是不包括mysql连接和其他功能 – 2014-10-02 22:18:58

0

试像这样的东西

<td style='width: 9%'>".$row[linear_sequence]."</td> 
+0

好的,我尝试使用“。$ variable []”。但它仍然产生较长的表格 – 2014-10-02 21:59:45