Отображение изображения в зависимости от значения переменной PHP (FPDF) - PullRequest
0 голосов
/ 28 декабря 2018

Я здесь новичок и некоторое время искал ответ по этой проблеме, но не могу найти способ решить эту проблему.

Мой проект состоит из калькулятора, способного сохранятьрезультат, и пусть пользователь экспортирует его как PDF-файл, если он хочет.Теперь проблема в том, что я хочу показать изображение в файле PDF в зависимости от результата: например.Если результат - M1, то он показывает изображение, связанное с M1 и так далее.Есть ли способ сделать это?

Я использую PHP, базу данных MYSQL для сохранения результатов и входных данных и fPDF.Любая помощь будет оценена.Спасибо.

    function Header(){

        global $first;
        global $second;
        global $userinput;
        global $client;
        global $project;
        global $obs;
        global $vao;
        global $perfil;
        global $valuep; //this is the final result that needs to be linked to an image
        global $lastname;
        global $firstname;
        global $lastname;
        global $email;
        global $address;
        global $country;
        global $state;
        global $phone;
        global $date;


        // Select Arial bold 15
        $this->AddFont('Raleway-Regular','','Raleway-Regular.php');
        $this->AddFont('Raleway-Bold','','Raleway-Bold.php');
        $this->SetFont('Raleway-Regular','',10);

        $this->SetFont('Raleway-Bold','',10);
        $this->Cell(22 ,5,'Name: ' . $firstname, '' .$lastname,0,0);
        $this->Cell(20 ,5,'Email: ' . $email,0,1);
        $this->Cell(20 ,5,'Phone: ' . $phone,0,1);
        $this->Cell(20 ,5,'Website: ' . $state,0,1);



        $this->Image('headerimage.jpg',160,15,30);

        $this->Cell(100,0,'',0,0);
        $this->Ln(5);

        $this->SetFont('Raleway-Regular','',10);
        $this->SetFillColor(0,0,0);
        $this->SetDrawColor(255,255,255);


        $this->Cell(25 ,5,"Project Name: " . $project ,0,1);
        $this->Cell(24.5,5,'Client: ' .$client,1,0);
        $this->Cell(25,5,'Date: ' . $date,0,1);

        //

        $this->Cell(0 ,5,'',0,1);


        //

        $this->Cell(190,0.3,'','T',0,'',true);

        $this->Cell(0 ,5,'',0,1);


         $this->SetFont('Raleway-Bold','',12);

        $this->Cell(85 ,5,'Inputs ',0,0);
        $this->Cell(25 ,5,'Span Details ',0,1);

        $this->Cell(0 ,5,'',0,1);
        $this->SetFont('Raleway-Regular','',11);
        $this->Cell(190,0.3,'','T',0,'',true);
        $this->Cell(0 ,5,'',0,1);
        $this->Cell(25 ,5,'Name of Span: ' . $vao,0,0);

        $this->Cell(0 ,5,'',0,1);
        $this->Cell(0 ,5,'',0,1);
        $this->Cell(85 ,5,'Wind Action: ' .$perfil . '' . $userinput . ' kN/m2]',0,0);

         $this->SetFont('Raleway-Regular','',11);
         $this->Cell(30 ,5,'Height: ' . $first . ' m',0,0);
         $this->Cell(30 ,5,'Width: ' . $second . ' m',0,1);

        //
         $this->Cell(0 ,5,'',0,1);
        //
         $this->Cell(190,0.3,'','T',0,'',true);
         $this->Cell(0 ,5,'',0,1);
         $this->SetFont('Raleway-Regular','',11);
         $this->SetFont('Raleway-Bold','',12);
         $this->Cell(25 ,5,'Solution ',0,1);
         $this->SetFont('Raleway-Regular','',11);
         $this->Cell(0 ,5,'',0,1);
         $this->Cell(190,0.3,'','T',0,'',true);
         $this->Cell(0 ,5,'',0,1);

         $this->Cell(25 ,5,'Final result: ' . $valuep,0,1); //image here next to the text
        //
        $this->Cell(0 ,5,'',0,1);
        //

          $this->Cell(0 ,5,'',0,1);
          $this->Cell(0 ,5,'',0,1);
          $this->Cell(0 ,5,'',0,1);

          $this->SetFont('Raleway-Bold','',12);
          $this->Cell(25 ,5,'Observations: ',0,1);
          $this->SetFillColor(255,255,255);

    }



    function Footer(){


   // Go to 1.5 cm from bottom
    $this->SetY(-15);
    // Select Arial italic 8
    $this->SetFont('Raleway-Bold','',5);
    // Print centered page number
    $this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
    $this->Cell(25,5,"Vestibulum placerat lorem venenatis nulla tempor maximus a ut elit.",0,0,'R');
    } }


$pdf = new PDF('P','mm','A4'); $pdf->AliasNbPages('{pages}');

$pdf->SetAutoPageBreak(true,5); $pdf->AddPage();


$pdf->SetFont('Raleway-Regular','',10); $text=str_repeat('' .$obs,1); $pdf->Write(5,$text); $pdf->SetDrawColor(255,255,255);



$pdf->Output();

1 Ответ

0 голосов
/ 28 декабря 2018

Зависит от того, сколько результатов вы получите, а фотографии различаются.

Поскольку вы используете mySQL, я предлагаю составить таблицу со всеми результатами и изображениями в ней.

Затем прочитайте результат и вуаля, у вас есть изображение, прикрепленное к нему.

...