Экспорт таблицы HTML в PDF с использованием mPDF - PullRequest
0 голосов
/ 09 октября 2019

Я использую mPDF для преобразования и экспорта данных из моей HTML-таблицы в PDF. Кнопка на моей таблице работает, и данные могут быть экспортированы. Однако код передает только одну переменную . Я хочу передать все переменные. Я не могу точно определить, что еще отсутствует в моем коде. Кто-нибудь может мне помочь?

Вот кнопка ссылки с index.php:

while($row = mysqli_fetch_array($result)){
         echo "<tr>";
         echo "<td>" .$row['eventvolunteerID'] . "</td>";
         echo "<td>" .$row['eventTitle'] . "</td>";
         echo "<td>" .$row['rollno'] . "</td>";
         echo "<td>" .$row['eventDate'] . "</td>";
         echo "<td>" .$row['eventTime'] . "</td>";
         echo "<td>" .$row['eventLimit'] .  "</td>";
         echo "<td><a href='makepdf2.php?eventvolunteerID=".$row['eventvolunteerID']."'>Create PDF</a></td>";
         echo "</tr>";

Вот мой код для обработки PDF (makepdf2.php):

<?php
require_once __DIR__ . '/vendor/autoload.php';
if(isset($_GET['eventvolunteerID'])) {

$eventvolunteerID = $_GET['eventvolunteerID'];
$eventTitle = $_GET['eventTitle'];
$rollno = $_GET['rollno'];
$eventDate = $_GET['eventDate'];
$eventTime = $_GET['eventTime'];
$eventLimit = $_GET['eventLimit'];

$mpdf = new \Mpdf\Mpdf();

$data = '';
$data .= '<strong>Event Volunteer ID:</strong> ' . $eventvolunteerID . '<br/>';
$data .= '<strong>Event Title:</strong> ' . $eventTitle . '<br/>';
$data .= '<strong>Roll no.:</strong> ' . $rollno . '<br/>';
$data .= '<strong>Event Date:</strong> ' . $eventDate . '<br/>';
$data .= '<strong>Event Time:</strong> ' . $eventTime . '<br/>';
$data .= '<strong>Event Limit:</strong> ' . $eventLimit . '<br/>';
$mpdf->WriteHTML($data);
$mpdf->Output('myfile.pdf', 'D');
}
?>

Пожалуйста, помогите. Спасибо.

1 Ответ

0 голосов
/ 09 октября 2019

Вы добавили кнопку в каждую строку таблицы, и при ее нажатии вы передаете идентификатор данных, которые есть в этой строке, и, следовательно, вы экспортируете только одну строку.

Предполагается, что кнопка «Добавить» поверх таблицы HTML,Нажав на нее, вы должны передать все значения переменных в makepdf2.php и написать один и тот же запрос к базе данных, чтобы получить все данные.

require_once __DIR__ . '/vendor/autoload.php';

if(isset($_GET['checkyouraction'])) {

    // Write your Database query here to get $result

    $data = '';
    while($row = mysqli_fetch_array($result)){
        $data .= '<strong>Event Volunteer ID:</strong> ' . $row['eventvolunteerID'] . '<br/>';
        $data .= '<strong>Event Title:</strong> ' . $row['eventTitle'] . '<br/>';
        $data .= '<strong>Roll no.:</strong> ' . $row['rollno'] . '<br/>';
        $data .= '<strong>Event Date:</strong> ' . $row['eventDate'] . '<br/>';
        $data .= '<strong>Event Time:</strong> ' . $row['eventTime'] . '<br/>';
        $data .= '<strong>Event Limit:</strong> ' . $row['eventLimit'] . '<br/>';
    }

    $mpdf = new \Mpdf\Mpdf();

    $mpdf->WriteHTML($data);
    $mpdf->Output('myfile.pdf', 'D');
}

Над кодом генерируются все записи. Если вы хотите отобразить данные в табличном формате, вы можете использовать ту же структуру HTML table / tr / td.

...