如何使用PHP列出行数据

时间:2013-11-25 07:42:02

标签: php forms row

我有一个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'];

所以这是第一部分的一行,我需要一个脚本,列出一个部分(表)的所有行。

3 个答案:

答案 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, '');