Возможно ли заполнить определенную строку на PHP FPDF? - PullRequest
0 голосов
/ 12 марта 2019

Так что я думаю, смогу ли я раскрасить строку в fpdf.Сценарий заключается в том, что некоторые данные будут извлечены из базы данных, и, например, первая строка называется «Высота», а все данные в базе данных имеют высоту «2-3 метра», их строка должна быть окрашена в цвет коричневый .Если данные «1-2 метра», то строка должна быть цветной желтый .

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

Я приложу картинку и мой код pdf.php ниже, чтобы вы, ребята, могли лучше понять мою проблему.Я надеюсь, что вы, ребята, можете дать мне идеи.

<?php

mysql_connect('server', 'username', 'password');

mysql_select_db('database');

$sql="SELECT * FROM table ORDER BY color REGEXP '^[^A-Za-z0-9]' ASC, color DESC";

$records=mysql_query($sql);

require("library/fpdf.php");

class PDF extends FPDF{
    function Header(){
    $this->SetFont('Arial', '', 10);
    $this->cell(12);
    $this->Image('logo.png',40,12,17);

    $this->Ln(5);
}
function Footer(){

    $this->SetY(-15);
    $this->setFont('Arial','',8);
    $this->cell(0,10,'Page '.$this->PageNo()." / {pages}",0,0,'C');
}
}

$pdf = new PDF('p', 'mm', 'Legal');
$title = 'Storm Surge';
$pdf->SetTitle($title);
$pdf->AliasNbPages('{pages}');
$pdf->SetAutoPageBreak(true,15);

$pdf->AddPage();

$pdf->SetFont('Arial', 'B', 10);
$pdf->MultiCell(200,4,"   \nSTORM SURGE INFORMATION \nSTORM SURGE: WARNING #01 \nFOR: TYPHOON ROSITA (YUTU) \nISSUED AT 11AM, 29 October 2018 \n   ",1,'C', false);

$pdf->SetBorders(array('LT', 'LT', 'LT', 'LT', 'TLR'));
$pdf->SetWidths(array(30, 30, 40, 50, 50));
$pdf->SetAligns(array('C', 'C', 'C', 'C', 'C'));

$pdf->SetFont('Arial', 'B', 11);
$pdf->SetFillColor(100,100,125);

$pdf->Row(array("SS Height",
            "Provinces",
            "Low Lying Coastal Areas in the Municipalities of:",
            "IMPACTS",
            "ADVICE/Actions to Take"), 1, true);

$pdf->SetFont('Arial', '', 10);

while($row = mysql_fetch_array($records)){

$pdf->Row(array($row['ssh'],
$row['provi'],
$row['muni'],
$row['impact'],
$row['advice']), 1);
}

$pdf->SetBorders(array('T', 'T', 'T', 'T', 'T'));
$pdf->Row(array('','','','',''), 1, false, 1);


$pdf->OutPut();
?>

Вот как я хочу, чтобы результат был.

enter image description here

...