使用 fpdf 库将数据数组映射到一个表行中



我在codeigniter中使用fpdf库时遇到了一些麻烦。我有一个将所有数据导出到 pdf 文件中的功能。但是将数据映射到表行时遇到问题。

我想做的是这个

Name        | Short_Name | Active | Destinations
Sample Name | SN         | true   | Destination 1, Destination 2, Destination 3,

但我最终才得到这个

Name        | Short_Name | Active | Destinations
Sample Name | SN         | true   | Destination 3,

我无法映射整个数据。我总是只得到一个数据。

到目前为止,这是我处理的代码结构。

$data = $this->airlines->get_airline($id);
$airlineloc = $this->destinations->get_airline_location($id);
$location = $this->destinations->get_active_destination(); //location
// The mapping of the data 
foreach($data as $row) {
$destinations = [];
$this->destinationperairline->Cell($w[0], 8, $row->LongName,'LR',0,'C', $fill);
$this->destinationperairline->Cell($w[1], 8, $row->ShortName, 'LR', 0, 'C', $fill);

if($row->Active == 1){
$this->destinationperairline->Cell($w[2], 8, 'Active', 'LR', 0, 'C', $fill);
}
// Mapping the locations  
foreach($location as $row4) {
// Mapping the locations to its specific airline 
foreach($airlineloc as $row3) {
// This codeblock should map the whole data in the pdf table row
if($row3->ChildID == $row4->DictionaryID && $row->Active == 1) {
$destinations = $row4->LongName.",";
}
}
}
$this->destinationperairline->Cell($w[3], 8, $destinations, 'LR', 0, 'C', $fill);
$this->destinationperairline->Ln();
$fill = !$fill;
}

有什么方法可以使用 fpdf 库将整个数据映射到单个表行中?感谢所有可以提供帮助的人。

您需要使用.=而不是=concatenate数据。当您使用=时,它会覆盖以前的值,只剩下最后一个值。另外,您不需要$destinations = [];

// $destinations = []; // remove this
// ...
// ...
// ...
if($row3->ChildID == $row4->DictionaryID && $row->Active == 1) {
$destinations .= $row4->LongName.","; // change here
}

希望对您有所帮助。

相关内容

  • 没有找到相关文章

最新更新