2013-03-12 3 views
0

У меня возникли проблемы с получением SQL-запроса для работы внутри fpdf, возможно ли это?Пока цикл в FPDF

я в настоящее время

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(); 

Все работало хорошо, прежде чем я добавил время цикла. Теперь он просто выплескивает пустой pdf-файл для меня. Как я могу это исправить?

+0

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

+0

@Praveenkalal Мне нужно сделать SQL-вызов для захвата данных из базы данных для добавления в PDF. –

+1

, пожалуйста, сначала проверьте, что цикл работает правильно, а затем вторая вещь меняет положение динамически, иначе он будет перезаписывать текст каждый раз. –

ответ

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(); 
+0

Оцените ответ, но функции mysql_ * не должны использоваться. См. Http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php –

1

Я боюсь, что вы не можете сделать это

Это потому, что функция заголовка запускается каждый раз, когда добавляется новая страница (которая выполняется автоматически, если страница переполнение) в формат PDF

Вместо этого вы можете сделать, как это

  1. Создайте конструктор для класса PDF, который вызывает функцию сказать Fill_details
  2. Перемещение времени цикла в функцию Fill_details
  3. Header и Footer функция должна содержать только ту часть кода, который является общим для всех страниц говорят как рамки страницы, колонтитул авторского право и т.д.