我在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
}
希望对您有所帮助。