Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: ZAJDAN 30. 04. 2019, 14:17:35

Název: Dynamické renderování výsledku PDO do PDF
Přispěvatel: ZAJDAN 30. 04. 2019, 14:17:35
nedaří se mi předat výsledek PDO sql dotazu v podobě tabulky do HTML renderovaného pomocí PHPWKHTMLTOPDF
tabulku získám takto:
Kód: [Vybrat]

  $result = $prepared->fetchAll(PDO::FETCH_ASSOC);
  echo "<table>";
  foreach( $result as $row ) {
    echo "<tr><td>" . $row['Letter'] . "</td><td>" . $row['Commission'] . "</td><td>" . $row['DeliveryDate'] . "</td></tr>";
    };
  echo "</table>";

jak tuto tabulku dostat do proměné a předat do HTML?:
Kód: [Vybrat]
$pdf->addPage('

    <!DOCTYPE html>
    <head>
    <meta charset="UTF-8">
    </head>
    <body>
    <div class="print-area">
    '.$table .'
    </div>
    </body>
    </html>
');
ve výsledném PDF se vyrenderuje jen slovo 'Array'
ano dává mi to smysl, protože se předal jen první záznam
Název: Re:dynamické renderování výsledku PDO do PDF(PHPWKHTMLTOPDF)
Přispěvatel: ZAJDAN 30. 04. 2019, 14:31:16
napadlo mě i:

Kód: [Vybrat]
$content = "<html>
      <HEAD>
      <meta charset='UTF-8'>
      </HEAD>
      <body>
      <div>
      <table>";
     
  foreach( $result as $row ) {
      $content .=   "<tr><td>" . $row['Letter'] . "</td><td>" . $row['Commission'] . "</td><td>" . $row['DeliveryDate'] . "</td></tr>";
      }
  // complete the content
  $content .= "</table>
      </div>
      </body>
      </html>";

Kód: [Vybrat]
$pdf->addPage('$content');
Název: Re:dynamické renderování výsledku PDO do PDF(PHPWKHTMLTOPDF)
Přispěvatel: ZAJDAN 30. 04. 2019, 14:53:25
SOLVED:

Kód: [Vybrat]
 
$content = "<table>";
foreach( $result as $row ) {
      $content .=   "<tr><td>" . $row['Letter'] . "</td><td>" . $row['Commission'] . "</td><td>" . $row['DeliveryDate'] . "</td></tr>";
      }
$content .= "</table>";
Kód: [Vybrat]
$pdf->addPage('
      <!DOCTYPE html>
      <HEAD>
      <meta charset="UTF-8">
      </HEAD>
      <body>
      <div>
      '.$content.'
      </div>
      </body>
      </html>
     

');