有人能告诉我在phpword中使用cloneblock的语法吗。
所以我在mysql数据库中得到了数据,对于我需要通过phpword导入word文档的单行,它工作得很好……运行我的查询和搜索,并用模板处理器替换。但是,现在我想在word文档中插入多行。我研究发现cloneblock方法就是答案。但是我不能让它工作…目前我的代码运行,但它似乎没有到达第二行。
实际上我没有收到任何错误信息。我的代码执行得很好…但是最后显示的word文件显示得不好…如果你看到我的代码,我得到了一个echo语句…它在我的浏览器中显示的正是我想要的“损坏的”和“良好的”(作为一个行数据的例子),但是数据不会像那样拉入我的word文档…它复制了“损坏的”,“损坏的”。
$group_key=1;
do {
//loop to increase my uuid - ($repeatgroup')
$repeatgroup = $id."/"."trailer_repeat_group"."[".$group_key."]";
// query string
$trailer_repeat_grouping = mysqli_query($connect, "SELECT * FROM trailer_repeat_group LEFT JOIN main on trailer_repeat_group.PARENT_KEY = main.metainstanceID WHERE trailer_repeat_group.KEY_id = '$repeatgroup'");
$templateProcessor->cloneBlock('CLONEME', $trailer_count);
while ($row1 = mysqli_fetch_array($trailer_repeat_grouping)) {
//this echo below I am using to test exactly what happends – independent of
//PHPword/templateprocessor
echo $rttc = $row1['right_trailer_tyre_condition'];
//inserting / searching / inserting values
$templateProcessor->setValue("right_trailer_tyre_condition", $rttc);
}
// ending of loop / checking loop
$group_key++;
} while ($group_key <= $trailer_count);
1条答案
按热度按时间chy5wohz1#
我做了调查,找到了解决办法。
您正在克隆相同的块n次:
$templateprocessor->cloneblock('cloneme',$trailer\u count);
然后做你想换的东西
right_trailer_tyre_condition
有一些价值:问题是,你是replacingall占位符。
但事实上,你需要用不同的值一个接一个地替换它们。
解决方案是定义第三个参数,它表示要替换的项的计数。
只需将其更改为: