2016-02-13 70 views
0

所以我有一个表单,用户输入值并将它们放入数据库。我正在使用MVC体系结构。 现在我怎样才能让我在发送数据到数据库的同时创建PDF。如何使变量在PDF文件中工作?如何使用数据库中的值生成pdf

 <form action="index.php" method="post" id="make_order_form"> 
     <input type="hidden" name="action" value="make_order"> 
     <input type="hidden" name="action" value="create_PDF"> 

make_order发送值到db和create_pdf应该使PDF文件

function get_customers() { 
global $db; 
$query = 'SELECT * FROM customers 
      ORDER BY customerID'; 
$statement = $db->prepare($query); 
$statement->execute(); 
return $statement;  
} 
<?php 

function create_customer($fname,$lname,$mobile,$email,$password1,$password2) { 
global $db; 
$query = 'INSERT INTO customers 
      (fname,lname,mobile,email,password1,password2) 
      VALUES 
      (:fname,:lname,:mobile,:email,:password1,:password2) 

      ' 
     ; 
$statement = $db->prepare($query); 
$statement->bindValue(':fname', $fname); 
$statement->bindValue(':lname', $lname); 
$statement->bindValue(':mobile', $mobile); 
$statement->bindValue(':email', $email); 
$statement->bindValue(':password1', $password1); 
$statement->bindValue(':password2', $password2); 
$statement->execute(); 
$statement->closeCursor(); 
} 

这是我在指数为行动create_PDF和IM困惑应该如何IM使在pdf文件中可用的值。

else if ($action == 'createPDF.php') { 

$fname = filter_input(INPUT_POST, 'fname'); 
$lname = filter_input(INPUT_POST, 'lname'); 
$mobile = filter_input(INPUT_POST, 'mobile'); 
$email = filter_input(INPUT_POST, 'email'); 
$password1 = filter_input(INPUT_POST, 'password1'); 
$password2 = filter_input(INPUT_POST, 'password2'); 
$series = filter_input(INPUT_POST,'series'); 
$bodyType = filter_input(INPUT_POST, 'bodyType'); 
$trim = filter_input(INPUT_POST, 'trim'); 
$paint = filter_input(INPUT_POST, 'paint'); 
$brakes = filter_input(INPUT_POST, 'brakes'); 
$body = filter_input(INPUT_POST, 'body'); 
$media = filter_input(INPUT_POST, 'media'); 

if ($fname == NULL || $fname == FALSE || $lname == NULL || $lname == FALSE || $mobile == NULL || $mobile == FALSE || $email == NULL || $email == FALSE || $password1 == NULL || $password1 == FALSE || $password2 == NULL || $password2 == FALSE || $series == NULL || $series == FALSE || $bodyType == NULL || $bodyType == FALSE || $trim == NULL || $trim == FALSE || $paint == NULL || $paint == FALSE || $brakes == NULL || $brakes == FALSE || $body == NULL || $body == FALSE || $media == NULL || $media == FALSE) { 
    $error = "Invalid product data. Check all fields and try again."; 
    include('./errors/error.php'); 
} else { 
    get_customers(); 
} 
} 
+0

我会考虑使用类似jsPDF的东西在客户端执行此操作。 –

+0

我必须使用tcpdf – lukas13x

+0

看起来您可以在'get_customers()'内启动pdf创建过程,并将'$ fname,$ lname etc ...'作为参数传递给您,您可以使用它来生成PDF如果你愿意,也可以插入到你的数据库中。 – Steve

回答

0

,你可以使用类似的PHP为PDF API这样

http://phptopdf.com/download ==>它需要免费注册

,这里是一个例子,如何从HTML制作的PDF和节省您的网站

<?php 
// INCLUDE THE phpToPDF.php FILE 
require("phpToPDF.php"); 

// PUT YOUR HTML IN A VARIABLE 
$my_html="<HTML> 
<h2>Test HTML 01</h2><br><br> 
<div style=\"display:block; padding:20px; border:2pt solid:#FE9A2E; background-color:#F6E3CE; font-weight:bold;\"> 
phpToPDF is pretty cool! 
</div><br><br> 
For more examples, visit us here --> http://phptopdf.com/examples/ 
</HTML>"; 

// SET YOUR PDF OPTIONS 
// FOR ALL AVAILABLE OPTIONS, VISIT HERE: http://phptopdf.com/documentation/ 
$pdf_options = array(
    "source_type" => 'html', 
    "source" => $my_html, 
    "action" => 'save', 
    "save_directory" => '', 
    "file_name" => 'html_01.pdf'); 

// CALL THE phpToPDF FUNCTION WITH THE OPTIONS SET ABOVE 
phptopdf($pdf_options); 

// OPTIONAL - PUT A LINK TO DOWNLOAD THE PDF YOU JUST CREATED 
echo ("<a href='html_01.pdf'>Download Your PDF</a>"); 
?> 

这个问题可以帮助你Convert HTML + CSS to PDF with PHP?