PHP - formulario y PDF con FPDF

 
Vista:
sin imagen de perfil
Val: 47
Ha aumentado su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

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

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 :&nbsp;&nbsp;&nbsp;&nbsp;</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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 47
Ha aumentado su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

formulario y PDF con FPDF

Publicado por Lrz (26 intervenciones) el 20/02/2017 20:44:19
lo que me he dado cuenta es que esta parte donde me imprime correctamente mi busqueda en web

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
<?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>";
}
 
?>



Me FUNCIONO CORRECTAMENTE AL TRATAR DE GENERAR LA BUSQUEDA DESDE WEB , PERO SI LE TRATO DE IMPLEMENTAR DE ESTA MISMA MANERA AL GENERADOR DE PDF , ME LO MUESTRA TOTALMENTE VACIO , ASI LO INGRESE AL PDF

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
if (isset($_POST['campo']))
	{
		$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);
?>


NO SE QUE ES LO QUE ESTE HACIENDO MAL , PERO AL PARECER LA QUERY ES CORRECTA SOLO QUE EL VALOR DE 'CAMPO' ES COMO SI LO TOMARA VACIO , O NO SE PORQUE NO ME DEVUELVE NINGUN REGISTRO , ESPERO ME PUEDA AYUDAR ALGUIEN DE ANTEMANO GRACIAS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar