0

fpdf 内で SQL クエリを動作させるのに問題があります。これは可能ですか?

私は現在持っています

session_start();
require('fpdf.php');    
class PDF extends FPDF
{
    function Header()
        {
            include('config.php');
            $client_check = $db->prepare("SELECT * FROM clients WHERE client_fullname = '".$_SESSION['client_details']."'");
            $client_check->execute();
            while ($row = $client_check->fetch(PDO::FETCH_ASSOC))
            {
                $client_firstname    = $row ['client_firstname'];
                $client_lastname     = $row ['client_lastname'];
                $client_address      = $row ['client_address'];
                $client_jobaddress   = $row ['client_jobaddress'];
                $client_homephone    = $row ['client_homephone'];

                $this->SetFont('Arial', 'B', 12);
                $this->Cell(10,0,'Ph(H):',0,0,'C');
                $this->Cell(20,0,''.$client_homephone.'', 0,0,'C');
                $this->Line(30,61,100,61);
                $this->Cell(210,0,'Job No:',0,0,'C');
                $this->Cell(-120,0,'Model:',0,0,'C');
                $this->Line(110,61,200,61);
            }
        }
    }
// Instanciation of inherited class
$pdf = new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Times','',10);
$pdf->Output();

while ループを追加する前は、すべてうまく機能していました。今では空のpdfを吐き出すだけです。どうすればこれを修正できますか?

4

2 に答える 2

0

私はあなたがそれをすることができないのではないかと心配しています

これは、pdf に新しいページが追加されるたびにヘッダー関数が実行されるためです (ページがオーバーフローした場合に自動的に行われます)。

代わりに、このようにすることができます

  1. Fill_details などの関数を呼び出す PDF クラスのコンストラクターを作成します。
  2. while ループを関数 Fill_details に移動します。
  3. ヘッダーとフッターの機能には、ページの境界線、フッターの著作権など、すべてのページに共通するコードの部分のみを含める必要があります。
于 2013-03-18T08:12:50.900 に答える
0
$con = mysql_connect("localhost", "{username}", "{password}") or die(mysql_error()) ; 
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
$db = mysql_select_db("{db}", $con) or die(mysql_error()) ; 
$client= mysql_query("{SELECT * FROM clients}")or die(mysql_error());
while ($client2= mysql_fetch_array($client)){

$pdf = new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Times','',10);

$pdf->Cell(20,0,''.$client2["client_homephone"].'', 0,0,'C');
.....

}

mysql_close($con);

$pdf->Output();
于 2013-03-14T02:22:23.913 に答える