我有一个HTML表单,分为3个部分(表格)。当我提交表单时,必须通过gen-czk-pdf.php中的PHP脚本来将HTML转换为PDF。每个表都有不确定的行数,我需要你的建议,我如何使用PHP列出每个表中的所有这些行。
这是calculate.php文件中的简短表格示例...
<form action="gen-czk-pdf.php" method="get" id="data" name="data">
<table class="items-table material-table" id="materialTable">
<tr>
<td><textarea rows="2" id="materialItemName"></textarea></td>
<td><input type="text" id="materialUnitPrice" /></td>
<td><input type="text" id="materialItemQuantity" /></td>
<td><input type="text" id="materialItemCoeff" /></td>
<td><input type="text" id="materialItemPriceNoVat" /></td>
<td><input type="text" id="materialItemVat" /></td>
<td><input type="text" id="materialItemPriceInVat" /></td>
</tr>
</table>
</form>
在gen-czk-pdf.php中获取变量
$matName = $_GET['materialItemName'];
$matPrPer = $_GET['materialUnitPrice'];
$matQuant = $_GET['materialItemQuantity'];
$matUnit = $_GET['materialUnitType'];
$matCoeff = $_GET['materialItemCoeff'];
$matItPrNoVat = $_GET['materialItemPriceNoVat'];
$matItVat = $_GET['materialItemVat'];
$matItPrInVat = $_GET['materialItemPriceInVat'];
所以这是第一部分的一行,我需要一个脚本,列出一个部分(表)的所有行。
答案 0 :(得分:0)
库:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Dompdf_gen {
public function __construct() {
require_once APPPATH.'third_party/dompdf/dompdf_config.inc.php';
$pdf = new DOMPDF();
$CI =& get_instance();
$CI->dompdf = $pdf;
}
}
控制器:
function pdf(){
$container = array($matName => $_GET['materialItemName'],
$matPrPer => $_GET['materialUnitPrice'],
.....and next and next
);
$data['transfer_data'] = $container;
$this->load->library('dompdf_gen');
$html = $this->load->view('contracts/gen-czk-pdf', $data, true);//change the "contracts" to the folder where the " gen-czk-pdf" contained
$this->load->library('dompdf_gen');
$dompdf = new DOMPDF();
// Convert to PDF
$this->dompdf->load_html($html);
$this->dompdf->render();
$this->dompdf->stream("Contract.pdf",array("Attachment"=>0)); // VIEW IN OTHER TAB
//$this->dompdf->stream("Contract.pdf"); // SAVE FILE TO DISK
}
查看:
<table class="items-table material-table" id="materialTable">
<?php foreach($transfer_data as $data) : ?>
<tr>
<td><?=$data->materialItemName;?></td>
<td><?=$data->materialUnitPrice;?></td>
.............
</tr>
<?php endforeach; ?>
</table>
......我想我会告诉你我的代码
答案 1 :(得分:0)
将您的表单更改为此。
<form action="gen-czk-pdf.php" method="get" id="data" name="data">
<table class="items-table material-table" id="materialTable">
<tr>
<td><textarea rows="2" name="item[][materialItemName]"></textarea></td>
<td><input type="text" name="item[][materialUnitPrice]" /></td>
<td><input type="text" name="item[][materialItemQuantity]" /></td>
<td><input type="text" name="item[][materialItemCoeff]" /></td>
<td><input type="text" name="item[][materialItemPriceNoVat]" /></td>
<td><input type="text" name="item[][materialItemVat]" /></td>
<td><input type="text" name="item[][materialItemPriceInVat]" /></td>
</tr>
</table>
</form>
在gen-czk-pdf.php中获取变量
$item = $_POST['item']
foreach($item as $i) // iterate depend on how many table you put inside <form>
{
//$i == array of inputs
// array(
// 'materialItemName' => some value,
// 'materialUnitPrice' => some value,
// ...
// )
}
答案 2 :(得分:0)
仅列出行数据: - GRAB VARS
$matn = $_GET['materialItemName'];
$matup = $_GET['materialUnitPrice'];
$matq = $_GET['materialItemQuantity'];
$matut = $_GET['materialUnitType'];
$matic = $_GET['materialItemCoeff'];
$matipnv = $_GET['materialItemPriceNoVat'];
$mativ = $_GET['materialItemVat'];
$matisv = $_GET['materialItemSumVat'];
$matipiv = $_GET['materialPriceInVat'];
- 和这样的类型一样
$material_listing_data = '';
foreach( $matn as $key => $matn ) {
$material_listing_data = "<table><tr><td>".
$matn."</td><td>".
$matup[$key]."</td><td>".
$matq[$key]."</td><td>".
$matut[$key]."</td><td>".
$matic[$key]."</td></tr><tr><td>".
$matipnv[$key]."</td><td>".
$mativ[$key]."</td><td>".
$matisv[$key]."</td><td>".
$matipiv[$key]."</td></tr></table>
<br />";
}
$pdf->writeHTML($material_listing_data, true, false, true, false, '');