Fpdf从数据库中选择数据

时间:2014-10-10 20:08:42

标签: php mysql fpdf

我想将我的数据从数据库导出到.pdf文件并使用其中的一些css代码,我不知道fpdf是否是最好的那样做,因为是我的第一次做这样的事情。

我的数据库ID名为" dados",并包含:

id, id_proposta, id_artigo, quantidade, posicao, unitario, iliquido.

选择所有这些之后我想用css代码设置所有pdf页面的样式,以便它更专业。

已经看过一些教程而无法使其发挥作用。

如果需要说些什么,我只需要让它成功,谢谢高级。

PS:这篇文章的主要焦点是在任何页面中始终使用相同的页眉和页脚,例如,如果第一页上只有20篇文章和10页,我希望第二页具有相同的页眉和页脚其余10篇文章。

所以我的代码就是我已经完成的代码:

    <?php require_once('Connections/valesilveira.php'); ?>
<?php 
mysql_query("SET NAMES 'utf8'");
mysql_query('SET character_set_connection=utf8');
mysql_query('SET character_set_client=utf8');
mysql_query('SET character_set_results=utf8');
?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$colname_dados = "-1";
if (isset($_GET['id_proposta'])) {
  $colname_dados = $_GET['id_proposta'];
}
mysql_select_db($database_valesilveira, $valesilveira);
$query_dados = sprintf("SELECT * FROM propostas, clientes, artigos, dados WHERE propostas.id_proposta = dados.id_proposta AND propostas.id_cliente = clientes.id_cliente AND artigos.id_artigo = dados.id_artigo AND propostas.id_proposta = %s ORDER BY posicao ASC", GetSQLValueString($colname_dados, "int"));
$dados = mysql_query($query_dados, $valesilveira) or die(mysql_error());
$row_dados = mysql_fetch_assoc($dados);
$totalRows_dados = mysql_num_rows($dados);

$colname_propostas = "-1";
if (isset($_GET['id_proposta'])) {
  $colname_propostas = $_GET['id_proposta'];
}
mysql_select_db($database_valesilveira, $valesilveira);
$query_propostas = sprintf("SELECT id_proposta FROM propostas WHERE id_proposta = %s", GetSQLValueString($colname_propostas, "int"));
$propostas = mysql_query($query_propostas, $valesilveira) or die(mysql_error());
$row_propostas = mysql_fetch_assoc($propostas);
$totalRows_propostas = mysql_num_rows($propostas);
?>

<?php

$header = '

<div id="headerContainer">

<div id="headerLeft">

<p>Vale & Silveira, Lda</p>
<p>Rua Marques Da Alegrete Nº124 - A 4440-382 Sobrado</p>

</div>

<div id="headerRight">
<a href="propostas.php"><img src="images/valesilveira.png" /></a>
</div>
<div id="nproposta"><p>Proposta: ' .$row_propostas['id_proposta']. '</p></div>

</div>



';



$html = '

<div id="mainContainer">

<div id="clientContainer">

<p>Exmo.(s) Sr.(s)</p>
<p>' .$row_dados['nome']. '</p>
<p>' .$row_dados['empresa']. '</p>
<p>' .$row_dados['morada']. '</p>

</div>

</div>

<div id="bodyContainer">

<p>Exm Senhores,</p>
<p>Conforme solicitado, vimos pela presente enviar a V. Exas, a nossa proposta nº ' .$row_propostas['id_proposta']. ' , relativa a aquisição de equipamento hoteleiro, chamando desde já a V/ melhor atenção para os seguintes pontos:</p>

<p>1 - Prazo de entrega: A Combinar; </p>
<p>2 - Condições de pagamento: A Combinar;</p>
<p>3 - Garantia: 1 Ano contra defeitos de fabrico;</p>
<p>4 - Exclusões: excluem-se todos os trabalhos de contrução civil, redes de àgua, esgoto, gâs e electricidade.</p>

</div>

<div id="tableHeader">

<div id="tablePos"><p>Pos.</p></div>
<div id="tableImg"><p>Imagem</p></div>
<div id="tableDesc"><p>Descrição</p></div>
<div id="tableUni"><p>Valor Unitário</p></div>
<div id="tableIli"><p>Valor Iliquido</p></div>
<div id="tableQt"><p>Quant.</p></div>

</div>

<div id="tableContent">

<div id="tablePos"><p>' .$row_dados['posicao']. '</p></div>
<div id="tableImg"><p><img src="images/artigos/' .$row_dados['id_proposta']. '.png" style="max-height:65px;" /></p></div>
<div id="tableDesc"><p>' .$row_dados['desc']. '</p></div>
<div id="tableUni"><p>' .$row_dados['unitario']. '</p></div>
<div id="tableIli"><p>' .$row_dados['iliquido']. '</p></div>
<div id="tableQt"><p>' .$row_dados['quantidade']. '</p></div>



</div>


';

$footer = '<div align="center">Tlm: 123456789</div>';


//==============================================================
//==============================================================
//==============================================================

include("mpdf.php");

$mpdf=new mPDF('c'); 

$mpdf->SetDisplayMode('fullpage');
$mpdf->SetHTMLHeader($header);
$mpdf->SetHTMLFooter($footer);

// LOAD a stylesheet
$stylesheet = file_get_contents('css/print.css');
$mpdf->WriteHTML($stylesheet,1);    // The parameter 1 tells that this is css/style only and no body/html/text

$mpdf->WriteHTML($html);

$mpdf->Output();

exit;
//==============================================================
//==============================================================
//==============================================================

?>


<?php
mysql_free_result($dados);

mysql_free_result($propostas);
?>

我想做的是:

循环此部分:

    <div id="tablePos"><p>' .$row_dados['posicao']. '</p></div>
<div id="tableImg"><p><img src="images/artigos/' .$row_dados['id_proposta']. '.png" style="max-height:65px;" /></p></div>
<div id="tableDesc"><p>' .$row_dados['desc']. '</p></div>
<div id="tableUni"><p>' .$row_dados['unitario']. '</p></div>
<div id="tableIli"><p>' .$row_dados['iliquido']. '</p></div>
<div id="tableQt"><p>' .$row_dados['quantidade']. '</p></div>

转换number_format()

   <div id="tableIli"><p>' .$row_dados['iliquido']. '</p></div>
<div id="tableQt"><p>' .$row_dados['quantidade']. '</p></div>

当进入第二页时,数据会停留在标题上。

所有的帮助将不胜感激。

0 个答案:

没有答案