Foros del Web » Programando para Internet » PHP »

Usando fpdf

Estas en el tema de Usando fpdf en el foro de PHP en Foros del Web. Hola. Llevo muy poco tiempo usando fpdf para presentar reportes por medio del formato pdf, tengo un formulario por medio del cual le envío al ...
  #1 (permalink)  
Antiguo 10/03/2010, 10:01
Avatar de venom_mau  
Fecha de Ingreso: julio-2009
Mensajes: 152
Antigüedad: 14 años, 9 meses
Puntos: 2
Pregunta Usando fpdf

Hola.

Llevo muy poco tiempo usando fpdf para presentar reportes por medio del formato pdf, tengo un formulario por medio del cual le envío al archivo que genera el pdf, las variables que quiero que muestre en el reporte.

En el form hago esto para enviar los datos:
Código:
<form name='reporte_profe' method='post' action='ejemplo2.php'>
Donde ejemplo2 es el archivo que genera al pdf.
Envío el campo:
Código:
<select name='rep_prof' id='inputs2' height=50>
Y cuando lo manda a ejemplo2.php lo recibo así:
Código:
$rep_prof =$_POST['rep_prof'];
Y trato de mostrarlo así:
Código:
$pdf->Cell($rep_prof);
No sé si me puedan guiar y aclarar mis errores o pasarme alguna dirección con un buen tutorial de fpdf, poruqe ya busqué en internet y no di con nada.

Muchas gracias por su tiempo y respuestas.

Saludos :)
  #2 (permalink)  
Antiguo 10/03/2010, 10:12
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: Usando fpdf

http://www.fpdf.org/

$pdf->addText(ejex,ejey,tamañofuente,cadena);

el cell tiene este formato

$pdf->Cell(40,10,'¡Hola, Mundo!',1);

bueno en la pagina oficial sale el tutorial y en español

sludos
  #3 (permalink)  
Antiguo 10/03/2010, 11:36
Avatar de venom_mau  
Fecha de Ingreso: julio-2009
Mensajes: 152
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Usando fpdf

Gracias Death_Empire.

EL error era fácil de solucionar pero a veces el cerebro ya no funciona después de estar mucho tiempo sobre lo mismo.

De nuevo gracias por la respuesta y el tiempo.

Ahora otra molestia, sabes como mostrar de la misma manera una variable, pero sacada de un query? Por ejemplo:
Código:
$s=@mysql_query("select campo from tabla where campo  = $variable");
$resultado=@mysql_fetch_array($s);

$pdf->Cell(80,5,$resultado,0,1,'C');
Saludos :)
  #4 (permalink)  
Antiguo 10/03/2010, 12:12
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: Usando fpdf

estas usando fethc_array lo que devuelve un array, tienes que imprimirlo asi
Código PHP:
$s=mysql_query("select campo from tabla where campo  = '$variable'",$conexion);
$resultado=mysql_fetch_array($s);

$pdf->Cell(80,5,$resultado['campo'],0,1,'C'); 
  #5 (permalink)  
Antiguo 10/03/2010, 13:59
Avatar de venom_mau  
Fecha de Ingreso: julio-2009
Mensajes: 152
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Usando fpdf

No quiero ser molesto, pero ya lo intenté y nada.

La variable la obtengo de un formualrio el cual envía ese dato por post:
Código:
$variable=$_POST['var'];
Incluso ya probé el query sustituyendo $variable por su valor real (como esta en la tabla) y así si funciona, pero quieroque sea dinámico, dependiendo de lo que se envie en el form.
Código:
$s=@mysql_query("select campo from tabla where campo  = $variable");
$resultado=@mysql_fetch_array($s);

$pdf->Cell(80,5,$resultado,0,1,'C');
Gracias de nuevo Death_Empire :)
  #6 (permalink)  
Antiguo 10/03/2010, 14:13
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: Usando fpdf

te faltan las ' ' para las variables en la consulta como lo puse con anterioridad, y a fetch_array le estas pasando solo la consulta sin los parametros de conexion

e insisto fetch_array te devuelve un array asociativo
te dejo un ejemplo

tabla personas
_________________________
nombre | juanito
apellido | perez
id | 1
Código PHP:
$id 1;
$conexion mysql_connect("localhost","root","pass");
mysql_select_db("nombreDB");
$consulta "SELECT nombre,apellido FROM personas WHERE id = '$id'";
$res mysql_query($consulta,$conexion);
$arreglo mysql_fetch_array($res);

echo 
"el nombre es "$arreglo['nombre'] . " el apellido es  " $arreglo['apellido']; 
el resultado de esto seria

el nombre es juanito el apellido perez.


saludos
  #7 (permalink)  
Antiguo 11/03/2010, 11:59
Avatar de venom_mau  
Fecha de Ingreso: julio-2009
Mensajes: 152
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Usando fpdf

Hola Death_Empire

Pues aún usando las comillas, nada, hasta cambié post por http_post_vars al momento de recibir la variable.

Seguiré intentando.

Gracias
  #8 (permalink)  
Antiguo 23/03/2010, 10:17
Avatar de venom_mau  
Fecha de Ingreso: julio-2009
Mensajes: 152
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Usando fpdf

Bueno quiero compartir la solución que logré.

Primero en un sólo script genero los pdf, la página se presenta primero con un select, el cual contiene nombres de personas, seleccionas una opción, das click en el botón generar dpf y manda en otra pestaña o ventana según el navegador, algunos datos de la persona que elegiste.

El script:

Código:
<?php
	session_start();
	$id = @mysql_connect("localhost", "user", "pass"); 
	$conex = @mysql_select_db("mydb", $id); 

	if(isset($_POST["R_Per"])){

 	//print_r($_POST);
   	if(isset($_POST["R_Per"])){
     $rep=1;
     $RP=$_POST['rep_persona'];}


	
	$busqueda=@mysql_query("select concat(nombre,' ',ap_pat,' ',ap_mat) as nombre from cat_personas where idrfc='$RP'");
	$resultado=@mysql_fetch_array($busqueda);


	$busqueda2=@mysql_query("select domicilio from datos where idrfc='$RP'");
	$resultado2=@mysql_fetch_array($busqueda2);


	require('fpdf.php');
        class PDF extends FPDF
	{
		//Cabecera de página
		function Header()
			{
 				//Logo
    				$this->Image('imagen1.jpg',20,15,25);
    				//Logo
    				$this->Image('imagen2.jpg',160,15,18);
   				//Arial bold 15
    				$this->SetFont('Arial','B',12);
    				//Movernos a la derecha
    				$this->Cell(80);
    				//Título
    				$this->Cell(20,25,'empresa patito',2,0,'C');
    				//Salto de línea
    				$this->Ln(10);
    				$this->Cell(80);     
    				$this->Cell(20,25,'Datos Personales',2,0,'C');
    				$this->Ln(20);
			}

		//Pie de página
		function Footer()
			{
    				//Posición: a 1,5 cm del final
    				$this->SetY(-15);
    				//Arial italic 8
    				$this->SetFont('Arial','I',8);
    				//Número de página
    				$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
			}
	}
	$pdf=new PDF();
	$pdf->AliasNbPages();
	$pdf->AddPage();

	$pdf->Ln(5);

	$pdf->SetFont('Arial','B',9);
	$pdf->Cell(70,15,'Reporte por Persona');
	$pdf->Ln();

	$pdf->SetFont('Arial','B',8);
	$pdf->Cell(80,5,'Nombre:  '.$resultado[nombre].'.',0,1,'C');
	$pdf->Cell(80,5,'Dirección:  '.$resultado2[0].'.',0,1,'C');

	@mysql_free_result($resultado);
        @mysql_free_result($resultado2);
	@mysql_close($conex);
	$pdf->Output();

}
else{

?>
<?
	session_start();
	$id = @mysql_connect("localhost", "user", "pass"); 
	$conex = @mysql_select_db("mydb", $id); 

	$var=$_SESSION['idusuario'];

?>
<html>
......

<?


	echo "<select name='rep_persona' id='inputs2' height=50>";
								

$pers=mysql_query("select concat(nombre,' ',ap_pat,' ',ap_mat) as nombre, idrfc from cat_personas");

while($row=mysql_fetch_array($pers)) 
	{
	echo "<option value='". $row['idrfc']." '>".$row['nombre']."</option>";
	}

	echo "</select>";


	?>
								

<br><input type="submit" name="R_Per" value="Reporte por Persona" />
...
<?
}
?>
</html>
Espero se halla entendido, y lo puedan aplicar en algún problema que tengan.

El detalle que me pasó, es que me enviaba la variable rfc pero no lograba usarla para hacer el query en la parte de desarrollo del pdf, esto lo solucioné con la línea:
Código:
echo "<option value='". $row['idrfc']." '>".$row['nombre']."</option>";
La cual antes tenía así:
Código:
echo "<option value=' $row[idrfc] '>$row[nombre]</option>";
Errores de principiante, que espero evitar en futuros scripts :P

Saludos :)

Última edición por venom_mau; 23/03/2010 a las 10:18 Razón: faltó código
  #9 (permalink)  
Antiguo 07/09/2010, 09:26
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1
Antigüedad: 13 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Usando fpdf

VENOM_MAU como estas?. Mira estuve mirando el script que dejaste en el post y lo quiero reutilizar porque deseo hacer un formulario de alguna de estas dos formas: 1 Que me extraiga la informacion de la BD y luego generar el pdf. 2 Que del form pase a pdf con fpdf, y veo que tu tienes algo asi, lo que pasa es que soy novato y no entiendo como esta estructurada la BD que tu utilizas, tambien desearia que me ayudaras si puedes con algun tips de como dar formatos a un reporte el cual es bastante largo. Geracias por tu ayuda
  #10 (permalink)  
Antiguo 14/09/2010, 12:16
Avatar de venom_mau  
Fecha de Ingreso: julio-2009
Mensajes: 152
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Usando fpdf

Hola Proletario.

Perdón por tardar, hace mucho que no veía este tema :P

Estas usando mysql y php?

Pues por lo poco que entiendo a tu cuestión, en la primera parte, cómo piensas extraer la información de la BD? Con querys?

Ahora pasar directo de un form a pdf, puedes, al momento de enviar tu información, capturar todos tus campos con $_POST e imprimirlos en fpdf.

Algo así:
Código PHP:
<form name="miform" method="post" action="reporte.php" >

<
class="style3">Nombre:</p>
<
input  type="text" name="nombre" size=35 maxlength=35 >

<
input id="boton" type="submit" name="agr" value="Enviar"
Y tu página reporte.php, algo así:
Código PHP:
<?php
 $nom
=$_POST['nombre'];

    
$pdf=new PDF();
    
$pdf->AliasNbPages();
    
$pdf->AddPage();

    
$pdf->Ln(5);

    
$pdf->SetFont('Arial','B',7.5);

    
$pdf->Cell(70,15,'Reporte');
    
$pdf->Ln();
    
$pdf->Cell(70,15,'Nombre:   '.$nom);
    
$pdf->Ln();
$pdf->Output();
?>
Claro esta, a grandes rasgos, te recomiendo veas la página de fpdf

suerte :)

Etiquetas: fpdf
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 21:24.