我有多个文件,其名称格式为field1_field2_field3.pdf。我将每个字段分开,然后我想将它返回到视图并对其进行分页。可以吗?到目前为止,我已经设法爆炸文件名,但只有一个文件返回到视图。请帮忙。
控制器:
$this->load->helper('directory');
$map = directory_map('./assets/data/');
$nric = $this->session->userdata('nric');
foreach($map as $row)
{
$separate = explode('_',$row);
}
$data['name'] = $separate[0];
$data['product'] = $separate[1];
$data['policyno'] = substr($separate[2],0,strlen($separate[2])-4);
$this->load->view('includes/user/header');
$this->load->view('user/statements',$data);
$this->load->view('includes/user/footer');
查看
<tr>
<td><?php echo $name; ?></td>
<td><?php echo $product; ?></td>
<td><?php echo $policyno; ?></td>
</tr>
答案 0 :(得分:0)
在Controller中,您希望数据数组包含多个值,因此请执行此类操作
编辑:我假设您的$ map变量是这样的(如果你想看到,请执行print_r)
$map = [
'field1_field2_field3.pdf',
'field11_field22_field33.pdf',
'field111_field222_field333.pdf'
]
所以使用循环
foreach($map as $row)
{
$separate = explode('_',$row);
$data[] = [
'name' => $separate[0],
'product' => $separate[1],
'policyno' => substr($separate[2],0,strlen($separate[2])-4)
];
}
现在如上所述在foreach循环中执行将为您提供像
这样的$ data$data = [
0 => [
'name' => 'field1',
'product' => 'field2',
'policyno' => 'field3',
],
1 => [
'name' => 'field11',
'product' => 'field22',
'policyno' => 'field33',
],
2 => [
'name' => 'field111',
'product' => 'field222',
'policyno' => 'field333',
],
]
您可以将这些$数据传递给您的视图,就像您正在做的那样
$this->load->view('user/statements',$data);
然后在你看来你可以有像
这样的东西<table>
<?php foreach ($data as $dataRow):?>
<tr>
<td><?php echo $dataRow['name']?></td>
<td><?php echo $dataRow['product']?></td>
<td><?php echo $dataRow['policyno']?></td>
</tr>
<?php endforeach?>
</table>
我认为这应该有效:)
现在使用一些精美的JavaScript插件并创建一个分页视图