
formulario y PDF con FPDF
Publicado por Lrz (26 intervenciones) el 20/02/2017 18:43:55
Buen dia,
He tratado por varios dias hacer un reporte con php y la libreria fpdf
ya tengo la conexion los query y la plantilla generada para fpdf
pero tengo un problema al tratar de pasar los valores de un formulario a lo que es mi plantilla en fpdf , de repente me dice que los Post no estan definidos pero despues cuando le añado if para condicionarme el Where , me funciona pero al mandarlos al pdf no se muestra ningun registro , de hecho cuando lo hago en web si me manda los registros que necesito pero al momento de dar enviar al pdf no aparecen , espero alguien me pueda ayudar de antemano Gracias
Este es donde se Genera el PDF
ESTE ES MI FORMULARIO
SE PREGUNTARAN PORQUE NO INGRESE EL DE CONEXION.PHP AL PDF , ES PORQUE EN MUCHOS CASOS QUE VI ERA MEJOR REALIZAR LA CONEXION DESDE ESTA MISMA ,AUN ASI NO LOGRO HACER QUE SE PASEN LOS DATOS DESDE EL FORMULARIO
He tratado por varios dias hacer un reporte con php y la libreria fpdf
ya tengo la conexion los query y la plantilla generada para fpdf
pero tengo un problema al tratar de pasar los valores de un formulario a lo que es mi plantilla en fpdf , de repente me dice que los Post no estan definidos pero despues cuando le añado if para condicionarme el Where , me funciona pero al mandarlos al pdf no se muestra ningun registro , de hecho cuando lo hago en web si me manda los registros que necesito pero al momento de dar enviar al pdf no aparecen , espero alguien me pueda ayudar de antemano Gracias
Este es donde se Genera el PDF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
$mysqli = new mysqli('localhost', 'root', 'pasword.123', 'tesoreria');
if($mysqli->connect_error){
die('Error en la conexion' . $mysqli->connect_error);
}
$where = "";
if(isset($_POST['buscar']))
{
$desde = date('Y-m-d',strtotime ($_POST['desde']));
//$hasta = date('Y-m-d', strtotime($_POST['hasta']));
$valor = $_POST['campo'];
if (empty($_POST['dese']))
{
$where = "WHERE proveedores LIKE '%".$valor."%' ORDER BY cxl ASC";
}
else if(empty($POST['campo'])){
$where = "WHERE f_elaboracion = '".$desde."' ORDER BY cxl ASC";
}else{
$where = "WHERE proveedores LIKE '%".$valor."%' AND f_elaboracion = '".$desde."' ORDER BY cxl ASC";
}
}
$sql = "SELECT * FROM retensiones $where";
$result = $mysqli->query($sql);
?>
<?php
include_once('PDF.php');
$pdf = new PDF();
$pdf->AliasNbPages();//Genera el numero de paginas finales
$pdf->AddPage();//Agrega una nueva pagina
$rows=0; // inicia el contador de fila
$totalimporte=0;
$totaliva=0;
$totalisr=0;
$pdf->SetXY(10,80);
$pdf->SetFont('Arial','',10);
$pdf->SetTextColor(3,3,3);//Coor del Texto Negro
while ($fila = $result->fetch_assoc())
{
$pdf->Cell(20,7, utf8_decode($fila['cxl']),0,0,'L');
$pdf->Cell(25,7, date('d/m/Y',strtotime($fila['f_elaboracion'])),0,0,'L');//date strtotime , da el formato dia mes año
$pdf->Cell(45,7, utf8_decode($fila['concepto']),0,0,'L');
$pdf->Cell(25,7, utf8_decode($fila['periodo']),0,0,'L');
$pdf->Cell(25,7, number_format (($fila['importe']),'2','.',',') ,0,0,'L'); // numer format , le da el formato en centenas miles y millones
$pdf->Cell(25,7, number_format (($fila['iva']),'2','.',','),0,0,'L');
$pdf->Cell(25,7, number_format (($fila['isr']),'2','.',','),0,0,'L');
$pdf->Ln();
$rows++; //suma 1 al contador
$totalimporte= $totalimporte + ($fila['importe']);
$totaliva = $totaliva + ($fila['iva']);
$totalisr = $totalisr + ($fila['isr']);
if($rows==22) { // si el numero de fila es igual a 20
$rows = 0; //vuelve el contador cero y
$pdf->AddPage(); // agrega una nueva pagina
}
}
$pdf->Ln();
$pdf->Ln();
$pdf->Ln();
$pdf->SetFont('Arial','B',10);
$pdf->Cell(20,7 ,"TOTALES",1,0,'L');
$pdf->SetX(115);
$pdf->SetFont('Arial','',12);
$pdf->Cell(30,10, number_format (($totalimporte),'2','.',',') ,1,0,'L');
$pdf->Cell(30,10, number_format (($totaliva),'2','.',',') ,1,0,'L');
$pdf->Cell(30,10, number_format (($totalisr),'2','.',',') ,1,0,'L');
$pdf->Output();//Salida del navegador
?>
ESTE ES MI FORMULARIO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<?php
require 'conexion.php';
$where = "";
if(isset($_POST['buscar']))
{
$desde = date('Y-m-d',strtotime ($_POST['desde']));
//$hasta = date('Y-m-d', strtotime($_POST['hasta']));
$valor = $_POST['campo'];
if (empty($_POST['dese']))
{
$where = "WHERE proveedores LIKE '%".$valor."%' ORDER BY cxl ASC";
}
else if(empty($POST['campo'])){
$where = "WHERE f_elaboracion = '".$desde."' ORDER BY cxl ASC";
}else{
$where = "WHERE proveedores LIKE '%".$valor."%' AND f_elaboracion = '".$desde."' ORDER BY cxl ASC";
}
}
$sql = "SELECT * FROM retensiones $where";
$resultado = $mysqli->query($sql);
if(mysqli_num_rows($resultado)==0)
{
$mensaje="<h1>No hay registros que coincidan con su criterio de búsqueda.</h1>";
}
?>
<html lang="es">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/bootstrap-theme.css" rel="stylesheet">
<script src="js/jquery-3.1.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<div class="row">
<h2 style="text-align:center">FORMULARIO</h2>
</div>
<div class="row">
<form method="POST" action='indexpdf.php'>
<select name="campo">
<option value="">Proveedores </option>
<?php
$query = $mysqli -> query ("SELECT proveedores FROM proveedores ORDER BY proveedores ASC");
while ($valores = mysqli_fetch_array($query)) {
echo ('<option value="'.$valores[proveedores].'">'.$valores[proveedores].'</option>');
}
?>
</select>
<td>Desde : </td>
<td><input type="date" id="desde" name="desde"/></td>
<button name="buscar" type="submit" class="btn btn-info" >Buscar</button>
<td width="200"><a target="_blank" href="indexpdf.php" class="btn btn-danger">Exportar Busqueda a PDF</a></td>
</form>
</div>
<br>
<div class="row table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>CXL</th>
<th>FECHA</th>
<th>Concepto</th>
<th>Periodo</th>
<th>Importe</th>
<th>I.V.A.</th>
<th>I.S.R.</th>
</tr>
</thead>
<tbody>
<?php while($row = $resultado->fetch_array(MYSQLI_ASSOC))
{
?>
<tr>
<td><?php echo $row['cxl']; ?></td>
<td><?php echo date('d/m/Y',strtotime($row['f_elaboracion'])); ?></td>
<td><?php echo $row['concepto']; ?></td>
<td><?php echo $row['periodo']; ?></td>
<td><?php echo number_format (($row['importe']),'2','.',','); ?></td>
<td><?php echo number_format (($row['iva']),'2','.',','); ?></td>
<td><?php echo number_format (($row['isr']),'2','.',','); ?></td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
</div>
</body>
</html>
SE PREGUNTARAN PORQUE NO INGRESE EL DE CONEXION.PHP AL PDF , ES PORQUE EN MUCHOS CASOS QUE VI ERA MEJOR REALIZAR LA CONEXION DESDE ESTA MISMA ,AUN ASI NO LOGRO HACER QUE SE PASEN LOS DATOS DESDE EL FORMULARIO
Valora esta pregunta


0