2016-05-15 15 views
0

Ich benutze die FPDF-Bibliothek und ich versuche, eine neue Zelle dynamisch zu machen. Ich habe in meinem HTML eine Gruppe von Eingabefeldern alle mit dem gleichen Namensattribut, das wie dieser Name aussieht = "Feld [0] []". Wenn der Benutzer eine zweite Gruppe generiert, sieht sein Namensattribut wie folgt aus: name = "field [1] []" und so weiter. Hier ist der 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> 

In PHP ich eine foreach-Schleife, die alle Werte von name = "Feld [0] []" bekommt und injizieren sie in einem FPDF Cell, und hier ist mein Code.

$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]); 
} 

Bisher sieht die ideal für eine Reihe von Eingaben mit dem gleichen Namen Attribute aber wie kann ich mehr Zellen dynamisch generieren, wenn ich mehr Sätze von Eingaben wie zB $ _POST [ ‚Feld‘] [1] habe, $ _POST ['field'] [2] usw. Ich weiß, wenn ich eine weitere foreach-Schleife hinzufüge und die Array-Nummer ändere, wird es mir die nächsten Felder anzeigen, aber das ist falsch, es muss dynamisch generiert werden.

Ist es möglich, eine auf diese $ _POST [ 'Feld'] hinzufügen [0]? und dann in der foreach-Schleife verwenden?

Antwort

1

Ist das Problem PHP oder HTML?

HTML, das Sie durch JS lösen konnten. Daher müssen Sie nur den Index speichern und jedes Mal, wenn jemand einen Block hinzufügt, erhöhen Sie den Index. Dadurch können Sie den HTML-Code dynamisch erstellen.

PHP müssen Sie einfach 2 foreachs in einander setzen:

foreach ($_POST['field'] as $dataArray) { 
    foreach ($dataArray as $key => $description) { 
     $pdf->Cell($width_array[$key],10, "{$description}", 1, $pos_array[$key], $align_array[$key]); 
    } 
} 
+0

Das Problem PHP ist, so dass Sie nur mein Problem gelöst, ich danke Ihnen so sehr. :-) – Shark