Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] como crear un PDF de una consulta

Estas en el tema de como crear un PDF de una consulta en el foro de PHP en Foros del Web. Buen día, necesito por favor una ayuda, la ideas es que cuando consulte por el rif de una empresa aparezca los indicadores de dicha empresa ...
  #1 (permalink)  
Antiguo 26/03/2016, 16:06
 
Fecha de Ingreso: septiembre-2015
Ubicación: caracas
Mensajes: 75
Antigüedad: 9 años, 2 meses
Puntos: 0
como crear un PDF de una consulta

Buen día, necesito por favor una ayuda, la ideas es que cuando consulte por el rif de una empresa aparezca los indicadores de dicha empresa y si el usuario quiere imprimir que imprima un PDF.

La consulta trabaja bien, necesito saber como hago para colocar la data de la consulta, es decir la data que traigo de la base de datos y la lleve al PDF, trate de hacer hacerlo con fpdf pero no se como colocar los resultados que me arroja la consulta.

A) ESTA ES LA CONSULTA QUE TRABAJA BIEN

<?php

$rif=$_POST["txtrif"];

include("claseconexion.php");
include("claseconsultar1.php");
$obj_con=new consultarbalance123($rif);
$resul=$obj_con->consultar();

?>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">



<head>


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>SISTEMA DE PUESTO DE TRABAJO</title>
</head>

<body>
<center>
<h1>BANANCE GENERAL Y ESTADO DE RESULTADOS</h1>
<table border="0">
<form action="documento.php" method="POST">
<tr>
<td>RIF:</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td><input type="text" style="text-align:center" name="txtrif" disabled="disabled" value=<?php echo $resul[0]['rif'];?>></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Empresa:</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td><input type="text" STYLE="text-align:center" name="txtnombre" size="35" disabled="disabled" value=<?php echo $resul[0]['nombre'];?>></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td><center>Año</center></td>
<td><center>Año</center></td>
<td><center>Año</center></td>
</tr>
<tr>
<td width="339"></td>
<td width="144"><input type="text" STYLE="text-align:center" name="txta1" disabled="disabled" value=<?php echo $resul[0]['periodo1'];?>></td>
<td width="144"><input type="text" STYLE="text-align:center" name="txta2" disabled="disabled" value=<?php echo $resul[0]['periodo2'];?>></td>
<td width="150"><input type="text" STYLE="text-align:center" name="txta3" disabled="disabled" value=<?php echo $resul[0]['periodo3'];?>></td>
</tr>
<tr>
<td><strong>Indicadores Financieros</strong></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Patrimonio</td>
<td><input type="text" STYLE="text-align:right" name="txtba1" disabled="disabled" value=<?php echo $resul[0]['ba1'];?>></td>
<td><input type="text" STYLE="text-align:right" name="txtba2" disabled="disabled" value=<?php echo $resul[0]['ba2'];?>></td>
<td><input type="text" STYLE="text-align:right" name="txtba3" disabled="disabled" value=<?php echo $resul[0]['ba3'];?>></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td> <input type="submit" value="Imp PDF" /></td>
</tr>


</form>
</table>


</center>
</body>
</html>

<html>
<body>
<br>
<br>
<center>

<a href="menu.html">volver al menu Principal</a>
</center>
</body>
</html>

B) ESTO E SLO QUE ESTOY TRATANDODE HACER


<?php
include_once('fpdf.php');
$doc=new FPDF('P','mm','A4');
$doc->AddPage();
$doc->SetFont('Arial','B',16);
$doc->Ln();
$doc->Cell(50,9,'Rif: '.$_POST [''],0,2,'L');
$doc->Output();
?>
Si por favor me pueden ayudar lo agradeceria.
__________________
ymanol caires z

Última edición por ycaires; 26/03/2016 a las 16:20
  #2 (permalink)  
Antiguo 26/03/2016, 16:44
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 5 meses
Puntos: 263
Respuesta: como crear un PDF de una consulta

te recomiendo html2pdf para la tarea, es mucho mas eficiente y facil de usar
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 27/03/2016, 09:27
 
Fecha de Ingreso: septiembre-2015
Ubicación: caracas
Mensajes: 75
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: como crear un PDF de una consulta

estoy tratando de hacer con dompdf y casi lo tengo pero cuando lo ejecuto sale este erro

Fatal error: Call to a member function get_cellmap() on a non-object in C:\wamp\www\unidad123\dompdf\include\table_cell_fr ame_reflower.cls.php on line 64

si alguien me puede ayudar
__________________
ymanol caires z
  #4 (permalink)  
Antiguo 27/03/2016, 11:12
 
Fecha de Ingreso: septiembre-2015
Ubicación: caracas
Mensajes: 75
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: como crear un PDF de una consulta

Solucionado, el problema es que todos saben hacer un PDF a partir de una consulta de una tabla de la base de datos y claro es muy fácil ya que arroja toda la data, la idea es hacer una consulta de una data especifica es decir que si coloco el carnet de un empleado y este existe que me muestre los datos de dicho empleado y si quiero realizar un pdf o reporte de los datos de dicho empleado que lo pueda, aquí les dejo un ejemplo el cual acabo de terminar para enfocarme en terminar el trabajo sobre el cual había preguntado.

A) HTML QUE MANDA A BUSCAR EL EMPLEADO SI EL CARNET EXISTE

<html>
<head>
<title>SISTEMA 2</title>
</head>
<body>
<center>
<h1>consulat</h1>
<table border="0">
<form action="consultar.php" method="post">

<tr>
<td>Carnet</td>
<td><input type="text" name="carnet"></td>
</tr>

<tr>
<td>
<input type="submit" value="Consultar">
</td>
<td>
<input type="reset" value="Limpiar">
</td>
</tr>
</form>
</table>

<a href="menu.html">volver al menu Princial</a>
</center>
</body>
</html>

B) SI EXISTE EL CARNET ESTE ES EL PHP QUE MUESTRA LA DATA DEL EMPLEADO

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php


$server = "localhost";
$usuario = "root";
$contraseña = "";
$bd = "uni";

$conexion = mysqli_connect($server,$usuario,$contraseña,$bd)
or die ("error en conexión favor verificar la conexión");

$carnet= $_POST['carnet'];



$consulta = mysqli_num_rows(mysqli_query($conexion,"SELECT carnet from unid where carnet='$carnet'"));

if($consulta==0){
echo '<center><h1>No hay Carnet registrado para consultar';
echo '</br>';
echo '<a href="menu.html">volver al menu Principal</a>';
echo '</br>';
echo '</center><br><br><br><br><br><br><br><footer><div class="container-fluid"><div class="col-xs-4" style="background-color:#2c3e50;"><h2>IT Knowledge House S.A. </h2></div></div></footer>';

return;

}

$consulta = (mysqli_query($conexion,"SELECT carnet,cedula,nombre from unid where carnet='$carnet'"));

while ($extraer = mysqli_fetch_array($consulta))
{

?>

<html>
<head>
<title>SISTEMA 2</title>
</head>
<body>
<center>
<h1>SISTEMA 2</h1>
<table border="0">
<form action="consultar1.php" method="POST">


<input type="hidden" name="carnet" value=<?php echo $extraer['carnet'];?>>

<tr>
<td>Carnet</td>
<td><input type="text" name="txtcarnet" disabled='disabled' value=<?php echo $extraer['carnet'];?>></td>
</tr>

<tr>
<td>Cedula</td>
<td><input type="text" name="txtcedula" disabled='disabled' value=<?php echo $extraer['cedula'];?>></td>
</tr>

<tr>
<td>Nombre</td>
<td><input type="text" name="txtnombre" disabled="disabled" value=<?php echo $extraer['nombre'];?>></td>
</tr>
<td></td>
<td></td>
<tr>
</tr>
<td></td>
<td></td>
<tr>
<td></td>
<td><center><input type="submit" value="Imprimir PDF"></center></td>
<td></td>
</tr>

</form>
</table>
<?php
}
mysqli_close($conexion);


?>

</center>
</body>
</html>

<html>
<body>
<br>
<br>
<center>

<a href="menu.html">volver al menu Principal</a><br>


</center>
</body>
</html>

C) SI QUIERES IMPRIMIR EN PDF ESTE ESTE ES EL PHP EL BOTON DE IMPRIMIR SE ENCUENTRA EN EL PHP ANTERIOR EL DE MOSTRAR DATA

<?php

require_once ("dompdf/dompdf_config.inc.php");
$server = "localhost";
$usuario = "root";
$contraseña = "";
$bd = "uni";

$conexion = mysqli_connect($server,$usuario,$contraseña,$bd)
or die ("error en conexión favor verificar la conexión");

$carnet= $_POST['carnet'];



$consulta = mysqli_num_rows(mysqli_query($conexion,"SELECT carnet from unid where carnet='$carnet'"));

if($consulta==0){
echo '<center><h1>No hay Carnet registrado para consultar';
echo '</br>';
echo '<a href="menu.html">volver al menu Principal</a>';
echo '</br>';
echo '</center><br><br><br><br><br><br><br><footer><div class="container-fluid"><div class="col-xs-4" style="background-color:#2c3e50;"><h2>IT Knowledge House S.A. </h2></div></div></footer>';

return;

}

$codigoHTML='
<html>
<head>
</head>
<body>
<table>


<tr>

</tr>';


$consulta = (mysqli_query($conexion,"SELECT carnet,cedula,nombre from unid where carnet='$carnet'"));

while ($extraer = mysqli_fetch_array($consulta))
{

$codigoHTML.='




<tr>
<td>Carnet:</td>
<td>'.$extraer['carnet'].'</td>


<tr>
<td>Cedula:</td>
<td>'.$extraer['cedula'].'</td>


<tr>
<td>Nombre:</td>
<td>'.$extraer['nombre'].'</td>
</tr>';





}

$codigoHTML.='


</table>

</body>
</html>';

$codigoHTML=utf8_encode($codigoHTML);
$dompdf=new DOMPDF();
$dompdf->load_html($codigoHTML);
ini_set("memory_limit","128m");
$dompdf->render();
$dompdf->stream("reporte.pdf");
?>

Nota: para que no les de el error 64 el que mencione deben de colocar la estructura de html, también lo corri en una estructura orientada a objeto

muchas gracias xfxstudios, por el link pero decidi trabajar con DOMPDF.
__________________
ymanol caires z

Etiquetas: html, pdf
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:09.