Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Como obtener valores de una base de datos con FPDF

Estas en el tema de Como obtener valores de una base de datos con FPDF en el foro de PHP en Foros del Web. Hola a todos pues resulta que estoy empezando a utilizar fpdf y tengo una base personas con tabla usuarios con (codigo) es autoincremental y campos ...
  #1 (permalink)  
Antiguo 10/10/2013, 22:24
Avatar de luisroronoa  
Fecha de Ingreso: noviembre-2012
Ubicación: Argentina
Mensajes: 31
Antigüedad: 12 años
Puntos: 0
Como obtener valores de una base de datos con FPDF

Hola a todos pues resulta que estoy empezando a utilizar fpdf y tengo una base personas con tabla usuarios con (codigo) es autoincremental y campos matricula,nombres,dia,tutor
Bien pues he diseñado un pdf en esta herramienta y obtengo el archivo y me muestra las celdas ahora lo que yo necesito es que me muestre los datos en las diferentes celdas del documento
tengo mi index donde puse
Código:
<form method="post" action="newEmptyPHP.php">
    <input type="text" name="matricula" required="required"/> 
    <input name="buscar" type="submit" value="buscalo">Ingresa el numero de matricula que deseas buscar</input>
    </form>
newempty es el archivo donde yo estoy poniendo el codigo de mi pdf que es el siguiente
Código:
<?php 
include './fpdf/fpdf.php';



$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('arial','',18);
$pdf->Image('./image/logo.jpg',10,8,50,30);
$pdf->Ln();
$pdf->Cell(200,10,"Hola ",0,1,'C');
$pdf->Cell(200,10,"Mundo ",0,1,'C');
$pdf->Ln(20);
$pdf->Cell(180,5,"Soy roronoa",0,1,'C');
$pdf->Cell(180,10,utf8_decode("Justificante"),0,1,'C');
$pdf->Ln(10);
$pdf->SetFont('arial','',9);
$pdf->Cell(30,8,'NOMBRE:',1,0,'C');
$pdf->SetFont('Arial','',9);
$pdf->Cell(100,8,'',1,0,'C');
$pdf->SetFont('Arial','',9);
$pdf->Cell(30,8,'Matricula',1,'C');
$pdf->SetFont('Arial','',9);
$pdf->SetTextColor(236,33,33);
$pdf->Cell(25,8,'No.',1,0,'C');
$pdf->SetFont('Arial','',9);
$pdf->SetTextColor(0,0,0);
$pdf->Ln();
$pdf->Cell(35,8,utf8_decode('Fecha de Expedición'),1,0,'C');
$pdf->Cell(35,8,'',1,0,'C');
$pdf->Cell(35,8,utf8_decode('Fecha de Inasistencia'),1,0,'C');
$pdf->Cell(35,8,'',1,0,'C');
$pdf->Cell(20,8,utf8_decode('Grupo'),1,0,'C');
$pdf->Cell(25,8,'',1,0,'C');
$pdf->Ln();
$pdf->Cell(45,8,utf8_decode('No. de Dias Justificados'),1,0,'C');
$pdf->Cell(35,8,'',1,0,'C');

$pdf->Cell(70,8,utf8_decode('Maestro'),1,0,'C');
$pdf->Cell(30,8,utf8_decode('Firma'),1,0,'C');
$pdf->Ln();

$pdf->Ln(15);
$pdf->Cell(30,8,utf8_decode('Motivo:'),1,0,'C');
$pdf->Cell(155,8,utf8_decode(''),1,0,'C');
$pdf->Ln(20);
$pdf->Cell(30,4,utf8_decode('Documento Anexo'),0,0,'C');
$pdf->Ln(15);
$pdf->Cell(5,4,utf8_decode(''),1,0,'C');
$pdf->Cell(35,4,utf8_decode('Receta Medica'),0,0,'C');
$pdf->Cell(5,4,utf8_decode(''),1,0,'C');
$pdf->Cell(35,4,utf8_decode('Trabajo'),0,0,'C');
$pdf->Cell(5,4,utf8_decode(''),1,0,'C');
$pdf->Cell(45,4,utf8_decode('Motivos Familiares'),0,0,'C');
$pdf->Cell(5,4,utf8_decode(''),1,0,'C');
$pdf->Cell(35,4,utf8_decode('Otro'),0,0,'C');
$pdf->Cell(5,4,utf8_decode(''),1,0,'C');
$pdf->Ln(30);
$pdf->Cell(90,8,utf8_decode('Tutor'),0,0,'C');
$pdf->Cell(90,8,utf8_decode('Alumno'),0,0,'C');
$pdf->Ln(15);
$pdf->Cell(15,1,utf8_decode(''),0,0,'C');
$pdf->Cell(60,0.5,utf8_decode(''),0,0,'C',1);
$pdf->Cell(30,1,utf8_decode(''),0,0,'C');
$pdf->Cell(60,0.5,utf8_decode(''),0,0,'C',1);

$pdf->Ln();


$pdf->SetFont('Arial','',13);
$pdf->Cell(190,20,utf8_decode( "El Justificante es expedido por el tutor y podra ser valido por los 2 dias."),0,1,'C');
        $pdf->Output();



?>
ok hasta ahi todo bien ahora tengo un formulario donde hago el insert de un nuevo registro
Código:
<form method="post" action="control/controlador.php"><td>Matricula:</td>
        <td><input type="text" name="matricula" required="required" autofocus="autofocus" maxlength="50" /></td>
    </tr><tr>
    	<td>Nombre Completo</td>
        <td><input type="text" name="nombres" required="required" maxlength="50" /></td>
    </tr><tr>
    	<td>Dia de inasistencia</td>
        <td><input type="text" name="dia" required="required" maxlength="10" /></td>
    </tr>
    <tr>
    	<td>Tutor</td>
        <td><input type="text" name="tutor" required="required" maxlength="30" /></td></td>
    </tr>
    <tr>
	    <td><input  type="submit" name="registrar" value="Registrar Usuario" /></td>
Bueno este codigo no lo puse completo porque no crei necesario eso bien pues se que en el archivo donde yo hago la consulta la debo meter en el archivo PHP con select * from usuarios where matricula= '"id'""; y al darle clic en generar archivo me muestre los datos que necesito en las celdas solicitadas la cosa es que me trabe en esa parte de la consulta y ya no se como seguir
Si me pudieran ayudar les agradeceria mucho
Espero su respuesta y muchas gracias por adelantado
  #2 (permalink)  
Antiguo 11/10/2013, 01:13
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Como obtener valores de una base de datos con FPDF

Divide y venceras.

Tienes dos problemas,

Primero consultar datos de una bbdd <---- el foro esta lleno de ejemplos

Segundo mostrar esos datos en pdf, se hace igual que si los mostraras en html. En un caso insertas etiquetas html en el otro usas las funciones de FPDF para dar formato. El prototipo que has construido te puede servir... solo tines que substituir el contenido de las celdas por el dato obtenido de la bbdd

....
$pdf->Cell(30,8,utf8_decode('Motivo:'),1,0,'C');
$pdf->Cell(155,8,utf8_decode($datos['motivo']),1,0,'C');
....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 12/10/2013, 15:42
Avatar de luisroronoa  
Fecha de Ingreso: noviembre-2012
Ubicación: Argentina
Mensajes: 31
Antigüedad: 12 años
Puntos: 0
Pregunta Respuesta: Como obtener valores de una base de datos con FPDF

Hola a todos he corregido mi codig
Código PHP:
Ver original
  1. <?php
  2. include './fpdf/fpdf.php';
  3. include './phpfiles/Libreria.php';
  4.  
  5. $conex=  conecta();
  6.  
  7.        
  8. $query = mysql_query( "SELECT * FROM usuarios WHERE matricula = '".$_POST[ 'm' ]."' " );
  9. $row = mysql_fetch_array( $query );
  10.     $codigo = $row[ 'codigo' ];
  11.     $matricula = $row['matricula'];
  12.     $nombres = $row['nombres'];
  13.     $dia = $row['dia'];
  14.     $tutor = $row['tutor'];
  15.  
  16. $pdf=new FPDF();
  17. $pdf->AddPage();
  18. $pdf->SetFont('arial','',18);
  19. $pdf->Image('./image/logo.jpg',10,8,50,30);
  20. $pdf->Ln();
  21. $pdf->Cell(200,10,"Hola  ",0,1,'C');
  22. $pdf->Cell(200,10,"hola ",0,1,'C');
  23. $pdf->Ln(20);
  24. $pdf->Cell(180,5,"hola",0,1,'C');
  25. $pdf->Cell(180,10,utf8_decode("hola"),0,1,'C');
  26. $pdf->Ln(10);
  27. $pdf->SetFont('arial','',9);
  28. $pdf->Cell(30,8,'NOMBRE:',1,0,'C');
  29. $pdf->SetFont('Arial','',9);
  30. $pdf->Cell(100,8,$nombres['nombres'],1,0,'C');
  31. $pdf->SetFont('Arial','',9);
  32. $pdf->Cell(30,8,'Matricula',1,'C');
  33. $pdf->SetFont('Arial','',9);
  34. $pdf->SetTextColor(236,33,33);
  35. $pdf->Cell(25,8,$matricula['matricula'],1,0,'C');
  36. $pdf->SetFont('Arial','',9);
  37. $pdf->SetTextColor(0,0,0);
  38. $pdf->Ln();
  39. $pdf->Cell(35,8,utf8_decode('Fecha de Expedición'),1,0,'C');
  40. $pdf->Cell(35,8,$codigo['codigo'],1,0,'C');
  41. $pdf->Cell(35,8,utf8_decode('Fecha de Inasistencia'),1,0,'C');
  42. $pdf->Cell(35,8,$dia['dia'],1,0,'C');
  43. $pdf->Cell(20,8,utf8_decode('Grupo'),1,0,'C');
  44. $pdf->Cell(25,8,'',1,0,'C');
  45. $pdf->Ln();
  46. $pdf->Cell(45,8,utf8_decode('No. de Dias Justificados'),1,0,'C');
  47. $pdf->Cell(35,8,'',1,0,'C');
  48.  
  49. $pdf->Cell(70,8,utf8_decode('Maestro'),1,0,'C');
  50. $pdf->Cell(100,8,$tutor['tutor'],1,0,'C');
  51.  
  52. $pdf->Cell(30,8,utf8_decode('Firma'),1,0,'C');
  53. $pdf->Ln();
  54.  
  55. $pdf->Ln(15);
  56. $pdf->Cell(30,8,utf8_decode('Motivo:'),1,0,'C');
  57. $pdf->Cell(155,8,utf8_decode(''),1,0,'C');
  58. $pdf->Ln(20);
  59. $pdf->Cell(30,4,utf8_decode('Documento Anexo'),0,0,'C');
  60. $pdf->Ln(15);
  61. $pdf->Cell(5,4,utf8_decode(''),1,0,'C');
  62. $pdf->Cell(35,4,utf8_decode('Receta Medica'),0,0,'C');
  63. $pdf->Cell(5,4,utf8_decode(''),1,0,'C');
  64. $pdf->Cell(35,4,utf8_decode('Trabajo'),0,0,'C');
  65. $pdf->Cell(5,4,utf8_decode(''),1,0,'C');
  66. $pdf->Cell(45,4,utf8_decode('Motivos Familiares'),0,0,'C');
  67. $pdf->Cell(5,4,utf8_decode(''),1,0,'C');
  68. $pdf->Cell(35,4,utf8_decode('Otro'),0,0,'C');
  69. $pdf->Cell(5,4,utf8_decode(''),1,0,'C');
  70. $pdf->Ln(30);
  71. $pdf->Cell(90,8,utf8_decode('Tutor'),0,0,'C');
  72. $pdf->Cell(90,8,utf8_decode('Alumno'),0,0,'C');
  73. $pdf->Ln(15);
  74. $pdf->Cell(15,1,utf8_decode(''),0,0,'C');
  75. $pdf->Cell(60,0.5,utf8_decode(''),0,0,'C',1);
  76. $pdf->Cell(30,1,utf8_decode(''),0,0,'C');
  77. $pdf->Cell(60,0.5,utf8_decode(''),0,0,'C',1);
  78.  
  79. $pdf->Ln();
  80.  
  81.  
  82. $pdf->SetFont('Arial','',13);
  83. $pdf->Cell(190,20,utf8_decode( "El Justificante es expedido por el tutor y podra ser valido por los 2 dias."),0,1,'C');
  84.         $pdf->Output();
  85.  
  86.  
  87.  
  88. ?>
Actualmente lo tengo asi creo que tengo error al llamar la funcion de php o no se pero me sale esto
Warning: Illegal string offset 'nombres' in C:\xampp\htdocs\sesion\newEmptyPHP.php on line 30

Warning: Illegal string offset 'matricula' in C:\xampp\htdocs\sesion\newEmptyPHP.php on line 35

Warning: Illegal string offset 'codigo' in C:\xampp\htdocs\sesion\newEmptyPHP.php on line 40

Warning: Illegal string offset 'dia' in C:\xampp\htdocs\sesion\newEmptyPHP.php on line 42

Warning: Illegal string offset 'tutor' in C:\xampp\htdocs\sesion\newEmptyPHP.php on line 50

Notice: Uninitialized string offset: 0 in C:\xampp\htdocs\sesion\newEmptyPHP.php on line 50
FPDF error: Some data has already been output, can't send PDF file



Y este es el form
Código HTML:
Ver original
  1. <form method="post" action="newEmptyPHP.php">
  2.     <input type="text" name="m" required="required"/>
  3.     <input  type="submit" value="buscalo">Ingresa el numero de matricula que deseas buscar</input>
  4.     </form>
Y este es la libreria
Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. function conecta() {
  5.     $conex = mysql_connect("localhost", "root", "")
  6.             or die("No se puede conectar" . mysql_error());
  7.     mysql_select_db("personas", $conex);
  8.     mysql_query("SET NAMES 'utf8'");
  9.     return $conex;
  10. }
  11.  
  12. function cierre() {
  13.     mysql_close();
  14. }
  15.  
  16. ?>

Última edición por luisroronoa; 13/10/2013 a las 23:14 Razón: error
  #4 (permalink)  
Antiguo 14/10/2013, 01:01
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Como obtener valores de una base de datos con FPDF

Código PHP:
Ver original
  1. ...
  2. 12. $nombres = $row['nombres'];
  3. ...
  4. 30. $pdf->Cell(100,8,$nombres['nombres'],1,0,'C');
  5. ...

Cita:
Warning: Illegal string offset 'nombres' in C:\xampp\htdocs\sesion\newEmptyPHP.php on line 30
En serio no ves el error???
30. $pdf->Cell(100,8,$nombres,1,0,'C');

Código PHP:
Ver original
  1. ...
  2. 10. $codigo = $row[ 'codigo' ];
  3. ...
  4. 40. $pdf->Cell(35,8,$codigo['codigo'],1,0,'C');
  5. ...

Cita:
Warning: Illegal string offset 'codigo' in C:\xampp\htdocs\sesion\newEmptyPHP.php on line 40
Corrige y a ver que pasa
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #5 (permalink)  
Antiguo 14/10/2013, 18:47
Avatar de luisroronoa  
Fecha de Ingreso: noviembre-2012
Ubicación: Argentina
Mensajes: 31
Antigüedad: 12 años
Puntos: 0
De acuerdo Respuesta: Como obtener valores de una base de datos con FPDF

Madre de dios D: como no me di cuenta ya funciono y me lleno los campos como queria muchas gracias olvide fijarme en ese error


Etiquetas: fecha, formulario, fpdf, registro, select, tabla, usuarios
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 19:01.