我正在使用FPDF库,我正在尝试动态创建一个新单元格。我在我的HTML中有一组输入字段,所有输入字段都具有相同的名称属性,看起来像这个名称=“field [0] []”。如果用户生成第二个组,则其name属性将类似于此name =“field [1] []”,依此类推。这是HTML:
<div class="new">
<input name="field[0][]" class="description" type="text" maxlength="255" placeholder="Enter Description" value=""/>
<input name="field[0][]" data-rate="rate" class="rate qty" type="text" maxlength="255" placeholder="0" size="5" value=""/>
<input name="field[0][]" data-price="price" class="pack price" type="text" maxlength="255" placeholder="$ 0.00" size="5" value=""/>
<input name="field[0][]" id="amount" class="amount" type="text">
</div>
在PHP中,我有一个foreach循环,它从name =“field [0] []”获取所有值,并将它们注入FPDF单元格,这是我的代码。
$width_array = array(100, 25, 25, 0);
$pos_array = array(0, 0, 0, 1);
$align_array = array('L', 'C', 'L', 'L');
foreach ($_POST['field'][0] as $key => $description) {
$pdf->Cell($width_array[$key],10, "{$description}", 1, $pos_array[$key], $align_array[$key]);
}
到目前为止,对于具有相同名称属性的一组输入,这看起来很棒但如果我有更多输入集,如果我有更多的输入集,例如$ _POST ['field'] [1],$ _POST [' field'] [2]等我知道如果我添加另一个foreach循环并更改数组编号,它会显示下一个字段,但这是错误的,它必须动态生成。
foreach ($_POST['field'][1] as $key => $description) {
$pdf->Cell($width_array[$key],10, "{$description}", 1, $pos_array[$key], $align_array[$key]);
}
是否可以在此$ _POST ['field'] [0]中添加一个?然后在foreach循环中使用它?
答案 0 :(得分:1)
问题是PHP还是HTML?
你可以通过JS解决的HTML。因此,您只需要保存索引,每次有人添加块时都会增加索引。通过这种方式,您可以动态创建HTML代码。
PHP你只需要将2个foreachs放在一起:
foreach ($_POST['field'] as $dataArray) {
foreach ($dataArray as $key => $description) {
$pdf->Cell($width_array[$key],10, "{$description}", 1, $pos_array[$key], $align_array[$key]);
}
}