HTML / php编码问题中的列中断

时间:2012-01-13 18:20:07

标签: php html tcpdf

我有一个按类排序的SQL学生列表,此列表进入TCPDF以创建PDF 2列表。我的问题是我找不到打破界限的方法。

我所知道的是一列最多可以有59行。因此,如果下一组不合适,他们应该转到下一栏。

理论是检查实际行

$html=$html.'<tr><td width="40">&nbsp;</td><td width="90">&nbsp;</td><td width="50">&nbsp;</td><td width="45">&nbsp;</td><td width="45">&nbsp;</td></tr>'; //35
while($classok = mysql_fetch_array($classquery))
{

$classes=$classok['id'];
$classnum=mysql_num_rows(mysql_query("SELECT class_id FROM pupils  WHERE class_id=".$classes." AND pupils.torolve=0 and pupils.statusz=1"));

如果下一个课程超过59行,我想在这里将行向下移动。像:

$html=$html.'<tr><td></td></tr>'; 

但我不能以正确的方式处理这个条件......

问题是前一个组随机完成,所以下一个类应该在新页面上启动。

$headek=$headek.'<b><tr><th>D.O.B.</th><th colspan="2">';
$headek=$headek.$classok['name'].'</th><th colspan="2">';
$headek=$headek.$classok['initname'];

$sum=$sum+$classnum;
$headek=$headek.'('.$classnum.')'.'</th></tr></b>';
$html=$html.strtoupper($headek);

$pupilssql="SELECT pupils.extra_functions, pupils.name, pupils.dateofbirth, pupils.sex, YEAR(pupils.dateofbirth) AS year, MONTH(pupils.dateofbirth) AS month, DAY(pupils.dateofbirth) AS days, pupils.name, pupils.firstname, pupils.class_id FROM pupils, classes  WHERE pupils.class_id=classes.id AND pupils.torolve=0 and pupils.statusz=1 AND class_id=".$classes." ORDER BY  pupils.name ASC";
$pupilsquery=mysql_query($pupilssql);
while($result = mysql_fetch_array($pupilsquery))
{
etc...

除了我不能放入代码的这个专栏中断以外,一切都运行良好......任何人的帮助都将受到赞赏。

2 个答案:

答案 0 :(得分:0)

他们需要是独立的表格。为每个59个学生的块开始一个新表,然后使用CSS浮动表,使它们彼此相邻堆叠。或者你可以懒惰并将这些表放在一个表中并进行EZ格式化(yuck)。

答案 1 :(得分:0)

在循环之前添加变量:$i = 0;

在循环开始时迭代它:$i++;

在你的循环结束时,使用if和modulus来打印你想要的每59个(或多个)行所需的分隔符:if($i % 59 == 0) echo '<br />';

<br />更改为您需要分隔各个部分的代码