如何使用php自动生成rowspan

时间:2014-08-08 08:50:09

标签: php loops html-table

在这段代码中,除了我无法在Internal Grade单元格中生成rowspan之外,一切都很完美。这一行<td rowspan="<?php echo $cols;?>">隐藏了底部边框,而我希望每次代码生成行时都会跨行。感谢您的投入,并对使用mysql()功能感到抱歉。我是新手。

<?php $cols=mysql_num_rows($grds);  ?>
<table>
<?php do{ ?>
<tr>
<td>&nbsp;</td>
//This hide the bottom border
<td rowspan="<?php echo $cols;?>">Internal<br />Grades</td>
<td colspan="2">&nbsp;<?php echo strtoupper($row_grds['grade_name']); ?></td>  
<td><?php echo strtoupper($row_grds['igrade']); ?></td>
<?php } while ($row_grds=mysql_fetch_assoc($grds)); ?>
</tr>
</table>

输出如下: output is here

php生成的代码是:

<table>
   <tr>
  <td>&nbsp;</td>
  <td rowspan="1">&nbsp;</td>// A
  <td colspan="2">&nbsp;RHYMES</td>  
  <td align="center">B</td>
   </tr>
      <tr>
  <td>&nbsp;</td>
  <td rowspan="2">&nbsp;</td>//B
  <td colspan="2">&nbsp;CONVERSATION</td>  
  <td align="center">A</td>
   </tr>
</table>

我想合并A和B

预期输出为:

<table>
  <tr>
    <td>&nbsp;</td>
    <td rowspan="2">&nbsp;Internal<br /> Grade</td>
    <td colspan="2">&nbsp;RHYMES</td>  
    <td align="center">B</td>
    </tr>
        <tr>
    <td>&nbsp;</td>
      <td colspan="2">&nbsp;CONVERSATION</td>  
    <td align="center">A</td>
  </tr>
</table>

1 个答案:

答案 0 :(得分:0)

你可以做类似的事情:

<table>
<?php $row_grds = mysql_fetch_assoc($grds); ?>
   <tr>
     <td>&nbsp;</td>
     <td rowspan="<?=$cols;?>">Internal<br />Grades</td>
     <td colspan="2">&nbsp;<?=strtoupper($row_grds['grade_name']);?></td>  
     <td><?=strtoupper($row_grds['igrade']);?></td>
    </tr>

<?php while ($row_grds=mysql_fetch_assoc($grds)): ?>
   <tr>
     <td>&nbsp;</td>
     <td colspan="2">&nbsp;<?=strtoupper($row_grds['grade_name']);?></td>  
     <td><?=strtoupper($row_grds['igrade']);?></td>
    </tr>
<?php endwhile; ?>

它并不完美,但你使用的是mysql_fetch_assoc,它本身并不完美:D