2015-04-27 2 views
-1

Я использую php & mysql.Создать файл PDF, используя php?

Я хочу получить все записи из таблицы в базе данных и распечатать их в pdf-файл.

Я пишу код, но он извлекает только первую запись в таблице и не извлекает все остальные записи.

Вот мой код:

<?php 
$con = mysql_connect("localhost","root","") 
    or die("Failed to connect to the server: " . mysql_error()); 
mysql_select_db("Users") 
    or die("Failed to connect to the database: " . mysql_error()); 

$query = mysql_query("SELECT * FROM reservations"); 
$numrows = mysql_num_rows($query); 
if($numrows > 0) 
{ 
    while($result = mysql_fetch_assoc($query)) 
    { 
     $db_id  = $result['id']; 
     $db_fname = $result['fname']; 
     $db_lname = $result['lname']; 
     $db_email = $result['email']; 
     $db_phone = $result['phone']; 
     $db_day  = $result['day']; 
     $db_time  = $result['time']; 
     $db_cartype = $result['car_type']; 
     $db_carcolor = $result['car_color']; 
     $db_carmodel = $result['car_year']; 
     $db_carno = $result['car_no']; 
     $db_problem = $result['problem']; 
     $db_status = $result['status']; 
     $db_remtime = $result['remaining_time']; 
     $db_cost  = $result['cost']; 
     $db_payment = $result['payment']; 
     $db_date  = $result['date']; 

     require("FPDF/fpdf.php"); 
     $pdf = new FPDF(); 
     $pdf->AddPage(); 
     $pdf->SetFont("Arial","B","15"); 
     $pdf->Cell(0,10,"Freedom Car: Total Reservations",1,1,"C"); 
     $pdf->Image("porchue.jpg"); 
     $pdf->SetFont("Arial","","10"); 
     $pdf->Write(5,"ID: $db_id\n"); 
     $pdf->Write(5,"First Name: $db_fname\n"); 
     $pdf->Write(5,"Last Name: $db_lname\n"); 
     $pdf->Write(5,"Email Address: $db_email\n"); 
     $pdf->Write(5,"Phone Number: $db_phone\n"); 
     $pdf->Write(5,"Reserved Day: $db_day\n"); 
     $pdf->Write(5,"Reserved Time: $db_time\n"); 
     $pdf->Write(5,"Car Type: $db_cartype\n"); 
     $pdf->Write(5,"Car Color: $db_carcolor\n"); 
     $pdf->Write(5,"Car Model: $db_carmodel\n"); 
     $pdf->Write(5,"Car Number: $db_carno\n"); 
     $pdf->Write(5,"Car Problem: $db_problem\n"); 
     $pdf->Write(5,"Car Status: $db_status\n"); 
     $pdf->Write(5,"Remaining Time: $db_remtime\n"); 
     $pdf->Write(5,"Total Cost: $db_cost\n"); 
     $pdf->Write(5,"Payment Method: $db_payment\n"); 
     $pdf->Write(5,"Reservation Date: $db_date\n\n"); 
     $pdf->Output(); 
    } 
} 
else 
    echo "<h4>Sorry, No reservations at this time.</h4>"; 
?> 
+2

посмотрите, что должно и не должно быть внутри этого цикла while –

+0

Я вас не понимаю, объясните свою идею в коде не только каким-то текстом. @Dagon –

ответ

0

во-первых, вам нужно создать массив и установить все данные в массив после этого сделать свой $pdf->Write(); комментарий работу. вы не можете писать так, потому что все данные во время.

while($result = mysql_fetch_assoc($query)) 
    { 
// create an array or call all data here ! 
} 
// use forachone array i main kame loop and start your code. 

он извлекает только первую запись, потому что вам нужно получить все данные сразу! , но вы пишете файл pdf в цикле while, чтобы он извлекал только первые данные и не мог перейти к другим данным.

1
<?php 
$con = mysql_connect("localhost","root","") 
    or die("Failed to connect to the server: " . mysql_error()); 
mysql_select_db("Users") 
    or die("Failed to connect to the database: " . mysql_error()); 

$query = mysql_query("SELECT * FROM reservations"); 
$numrows = mysql_num_rows($query); 
if($numrows > 0) 
{ 
    require("FPDF/fpdf.php"); 
     $pdf = new FPDF(); 
     $pdf->AddPage(); 
     $pdf->SetFont("Arial","B","15"); 
     $pdf->Cell(0,10,"Freedom Car: Total Reservations",1,1,"C"); 
     $pdf->Image("porchue.jpg"); 
     $pdf->SetFont("Arial","","10"); 
    while($result = mysql_fetch_assoc($query)) 
    { 
     $db_id  = $result['id']; 
     $db_fname = $result['fname']; 
     $db_lname = $result['lname']; 
     $db_email = $result['email']; 
     $db_phone = $result['phone']; 
     $db_day  = $result['day']; 
     $db_time  = $result['time']; 
     $db_cartype = $result['car_type']; 
     $db_carcolor = $result['car_color']; 
     $db_carmodel = $result['car_year']; 
     $db_carno = $result['car_no']; 
     $db_problem = $result['problem']; 
     $db_status = $result['status']; 
     $db_remtime = $result['remaining_time']; 
     $db_cost  = $result['cost']; 
     $db_payment = $result['payment']; 
     $db_date  = $result['date']; 


     $pdf->Write(5,"ID: $db_id\n"); 
     $pdf->Write(5,"First Name: $db_fname\n"); 
     $pdf->Write(5,"Last Name: $db_lname\n"); 
     $pdf->Write(5,"Email Address: $db_email\n"); 
     $pdf->Write(5,"Phone Number: $db_phone\n"); 
     $pdf->Write(5,"Reserved Day: $db_day\n"); 
     $pdf->Write(5,"Reserved Time: $db_time\n"); 
     $pdf->Write(5,"Car Type: $db_cartype\n"); 
     $pdf->Write(5,"Car Color: $db_carcolor\n"); 
     $pdf->Write(5,"Car Model: $db_carmodel\n"); 
     $pdf->Write(5,"Car Number: $db_carno\n"); 
     $pdf->Write(5,"Car Problem: $db_problem\n"); 
     $pdf->Write(5,"Car Status: $db_status\n"); 
     $pdf->Write(5,"Remaining Time: $db_remtime\n"); 
     $pdf->Write(5,"Total Cost: $db_cost\n"); 
     $pdf->Write(5,"Payment Method: $db_payment\n"); 
     $pdf->Write(5,"Reservation Date: $db_date\n\n"); 
    } 
     $pdf->Output(); 
} 
else 
    echo "<h4>Sorry, No reservations at this time.</h4>"; 
?> 
+1

Я просматриваю свой код и обнаружил проблему. спасибо вам, сэр за вашу помощь. проверка цикла была проблемой. и это ответ. @ Dagon my приветствует вас от Египта. –

Смежные вопросы