while 循环内的动态 Table 生成,包括 phpexcel

Dynamic Table generation inside the while loop including phpexcel

这是我的 While 循环,我总共有 5 条记录匹配结果,所以我使用 while 循环来处理这个,

正如我在 phpexcel 中所做的那样,我按以下方式处理它。

头将有多达 A7 列,所以我将从 A8

开始

我将有 A8-A20 一组,如下面的屏幕截图所示

因此,当我继续循环时,第一个条目将从 A8-A20,然后是 A22-A34,A36-A48(每个条目之间将有 2 列)。

为此,我在循环开始前声明 $flag_head 为 8,并在循环结束时添加 14,。 (作为初始步骤,我为第一行或条目赋予颜色,以便它将继续打印彩色列 n 个条目)

但我对最初的事情感到困惑,当我执行它时,它总是只在 A8 列打印,尽管它有很多条目。我想念的重点是什么?

$loopquery = "SELECT * FROM prsprimary_details where PrsdkID = '11'";

if ($loopresult = $mysqli->query($loopquery)) 
{
  $flag_head=8;
  while ($row = $loopresult->fetch_assoc()) 
{
    cellColor('A'.$flag_head, 'ccccff');
    cellColor('B'.$flag_head, 'ccccff');
    cellColor('C'.$flag_head, 'ccccff');
    cellColor('D'.$flag_head, 'ccccff');
    cellColor('E'.$flag_head, 'ccccff');
    cellColor('F'.$flag_head, 'ccccff');
    cellColor('G'.$flag_head, 'ccccff');
    cellColor('H'.$flag_head, 'ccccff');
    cellColor('I'.$flag_head, 'ccccff');
    cellColor('J'.$flag_head, 'ccccff');
    cellColor('K'.$flag_head, 'ccccff');
    cellColor('L'.$flag_head, 'ccccff');
    $flag_head+14;
}
}

正如@MarkBaker 所建议的那样,对您的代码进行微小的更改就很有意义。

你有 $flag_head+14; 这意味着在循环结束时它会将 14 添加到 $flag_head 但不会将其分配给任何变量。但是如果你做 $flag_head += 14; 或者像 $flag_head = $flag_head + 14; 这样的事情。我建议 $flag_head += 14; 这会将 14 添加到 $flag_head 中,因此在下一个循环中它将添加另一个 14 并一直持续到循环结束。

因此,您需要做的是将 $flag_head+14; 更改为 $flag_head += 14;

希望对你有帮助。