Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: General Dmitry Vergadoski en 28 Octubre 2012, 20:59 pm



Título: ayuda en php con pdf
Publicado por: General Dmitry Vergadoski en 28 Octubre 2012, 20:59 pm
hola a todos, necesito de su ayuda,como hago para que salga una consulta en PDF, osea que muestre primero la consulta y despues mas abajo tenga un boton que diga "descargar" y se descarge la consulta en PDF , aqui mi codigo:
Código:
<?php

/******** CONECTAR CON BASE DE DATOS **************** */
   $con = mysql_connect("localhost","root","123456");
   if (!$con){die('ERROR DE CONEXION CON MYSQL: ' . mysql_error());}
/* ********************************************** */

/********* CONECTA CON LA BASE DE DATOS  **************** */
   $database = mysql_select_db("conexion",$con);
   if (!$database){die('ERROR CONEXION CON BD: '.mysql_error());}
/* ********************************************** */

//ejecutamos la consulta
$sql = "SELECT nombre, estado FROM repara WHERE codigo='"
      .$_POST['codigo']."'";
$result = mysql_query ($sql);
// verificamos que no haya error
if (! $result){
   echo "La consulta SQL contiene errores.".mysql_error();
   exit();
}else {
    echo "<table border='1'><tr><td>Nombre y Apellido</td><td>Estado</td>
         </tr><tr>";
//obtenemos los datos resultado de la consulta
    while ($row = mysql_fetch_row($result)){
echo "<td>".$row[0]."</td><td>".$row[1]."</td>
              <td>".$row[2]."</td>";
    }
    echo "</tr></table>";
 }
?> 


Título: Re: ayuda en php con pdf
Publicado por: wirelesswifi en 28 Octubre 2012, 22:21 pm
Hola, tendrias que consultar el pdf desde la base de datos, la url del pdf la buscas por la base de datos y la muestras con object pdf desde la url.

Para descargarlo mostrarias el enlace del pdf con un a href

Saludos!


Título: Re: ayuda en php con pdf
Publicado por: General Dmitry Vergadoski en 28 Octubre 2012, 22:32 pm
Hola, tendrias que consultar el pdf desde la base de datos, la url del pdf la buscas por la base de datos y la muestras con object pdf desde la url.

Para descargarlo mostrarias el enlace del pdf con un a href

Saludos!

ni idea de como hacer todo eso....


Título: Re: ayuda en php con pdf
Publicado por: wirelesswifi en 28 Octubre 2012, 23:10 pm
Algo asi:

Código
  1. <?php
  2.  
  3. /******** CONECTAR CON BASE DE DATOS **************** */
  4.   $con = mysql_connect("localhost","root","123456");
  5.   if (!$con){die('ERROR DE CONEXION CON MYSQL: ' . mysql_error());}
  6. /* ********************************************** */
  7.  
  8. /********* CONECTA CON LA BASE DE DATOS  **************** */
  9.   $database = mysql_select_db("conexion",$con);
  10.   if (!$database){die('ERROR CONEXION CON BD: '.mysql_error());}
  11. /* ********************************************** */
  12.  
  13. //ejecutamos la consulta
  14. $sql = "SELECT nombre, estado, url FROM repara WHERE codigo='"
  15.      .$_POST['codigo']."'";
  16. $result = mysql_query ($sql);
  17. // verificamos que no haya error
  18. if (! $result){
  19.   echo "La consulta SQL contiene errores.".mysql_error();
  20.   exit();
  21. }else {
  22.    echo "<table border='1'><tr><td>Nombre y Apellido</td><td>Estado</td><td>PDF</td>
  23.         </tr><tr>";
  24. //obtenemos los datos resultado de la consulta
  25.    while ($row = mysql_fetch_row($result)){
  26. echo "<td>".$row[0]."</td><td>".$row[1]."</td>
  27.              <td><object type='application/pdf' data='".$row[2]."#toolbar=1&amp;navpanes=0&amp;scrollbar=1' width='900' height='500'><param name='src' value='".$row[2]."#toolbar=1&amp;navpanes=0&amp;scrollbar=1' /></object></td>
  28.  <tr><td>Descarga</td><td><a href='".$row[2]."' target='_blank' />Descarga</a></td></tr>";
  29.  
  30.    }
  31.    echo "</tr></table>";
  32. }
  33. ?>


Título: Re: ayuda en php con pdf
Publicado por: General Dmitry Vergadoski en 29 Octubre 2012, 00:53 am
Algo asi:

Código
  1. <?php
  2.  
  3. /******** CONECTAR CON BASE DE DATOS **************** */
  4.   $con = mysql_connect("localhost","root","123456");
  5.   if (!$con){die('ERROR DE CONEXION CON MYSQL: ' . mysql_error());}
  6. /* ********************************************** */
  7.  
  8. /********* CONECTA CON LA BASE DE DATOS  **************** */
  9.   $database = mysql_select_db("conexion",$con);
  10.   if (!$database){die('ERROR CONEXION CON BD: '.mysql_error());}
  11. /* ********************************************** */
  12.  
  13. //ejecutamos la consulta
  14. $sql = "SELECT nombre, estado, url FROM repara WHERE codigo='"
  15.      .$_POST['codigo']."'";
  16. $result = mysql_query ($sql);
  17. // verificamos que no haya error
  18. if (! $result){
  19.   echo "La consulta SQL contiene errores.".mysql_error();
  20.   exit();
  21. }else {
  22.    echo "<table border='1'><tr><td>Nombre y Apellido</td><td>Estado</td><td>PDF</td>
  23.         </tr><tr>";
  24. //obtenemos los datos resultado de la consulta
  25.    while ($row = mysql_fetch_row($result)){
  26. echo "<td>".$row[0]."</td><td>".$row[1]."</td>
  27.              <td><object type='application/pdf' data='".$row[2]."#toolbar=1&amp;navpanes=0&amp;scrollbar=1' width='900' height='500'><param name='src' value='".$row[2]."#toolbar=1&amp;navpanes=0&amp;scrollbar=1' /></object></td>
  28.  <tr><td>Descarga</td><td><a href='".$row[2]."' target='_blank' />Descarga</a></td></tr>";
  29.  
  30.    }
  31.    echo "</tr></table>";
  32. }
  33. ?>
no se descarga nada...


Título: Re: ayuda en php con pdf
Publicado por: wirelesswifi en 29 Octubre 2012, 02:13 am
no se descarga nada...

Tendrias que descargarlo por

Código:
header("Content-type: application/octet-stream");

Y forzar la descarga del archivo

Saludos!


Título: Re: ayuda en php con pdf
Publicado por: General Dmitry Vergadoski en 29 Octubre 2012, 02:35 am
Tendrias que descargarlo por

Código:
header("Content-type: application/octet-stream");

Y forzar la descarga del archivo

Saludos!

y como implemento eso en mi codigo??


Título: Re: ayuda en php con pdf
Publicado por: wirelesswifi en 29 Octubre 2012, 03:39 am
y como implemento eso en mi codigo??

Envias el id donde esta el pdf por get y lo descargas.

Código:
header("Content-type: application/application/octet-stream");
header("Content-Disposition: attachment; filename=archivo.pdf");

Código
  1. <?php
  2. /******** CONECTAR CON BASE DE DATOS **************** */
  3.   $con = mysql_connect("localhost","root","123456");
  4.   if (!$con){die('ERROR DE CONEXION CON MYSQL: ' . mysql_error());}
  5. /* ********************************************** */
  6.  
  7. /********* CONECTA CON LA BASE DE DATOS  **************** */
  8.   $database = mysql_select_db("conexion",$con);
  9.   if (!$database){die('ERROR CONEXION CON BD: '.mysql_error());}
  10. /* ********************************************** */
  11.  
  12. //ejecutamos la consulta
  13. $sql = "SELECT nombre, estado, url FROM repara WHERE codigo='"
  14.      .$_GET['codigo']."'";
  15. $result = mysql_query ($sql);
  16.    while ($row = mysql_fetch_row($result)){
  17. header("Content-type: application/application/octet-stream");
  18. header("Content-Disposition: attachment; filename=".$row[2]."");
  19.    }
  20. ?>


Título: Re: ayuda en php con pdf
Publicado por: General Dmitry Vergadoski en 29 Octubre 2012, 22:18 pm
sigue igual,no me descarga nada


Título: Re: ayuda en php con pdf
Publicado por: wirelesswifi en 29 Octubre 2012, 22:31 pm
Creaste la columna url e insertaste un enlace de pdf?

O ya tienes creada la columna url?


Título: Re: ayuda en php con pdf
Publicado por: General Dmitry Vergadoski en 30 Octubre 2012, 13:57 pm
no se que url debo poner, lo que yo quiero es que el resultado de la consulta se convierta en pdf y pueda descargarlo cuando presione el boton "descargar"


Título: Re: ayuda en php con pdf
Publicado por: wirelesswifi en 30 Octubre 2012, 15:19 pm
no se que url debo poner, lo que yo quiero es que el resultado de la consulta se convierta en pdf y pueda descargarlo cuando presione el boton "descargar"

en tu base de datos tienes creada una tabla llamada "repara" la cual contiene estos datos:

codigo   1
nombre Pepe
estado  Activo
url         http://www.nuso.org/upload/articulos/3699_1.pdf

Mas el codigo que te he puesto:

Te dejo el codigo por POST

consulta.html

Código
  1. <form action="pdf.php" method="POST">
  2. Codigo : <input name="codigo" type="text"><br />
  3. <input type="Submit" value="Consultar">

pdf.php

Código
  1. <?php
  2.  
  3. /******** CONECTAR CON BASE DE DATOS **************** */
  4.   $con = mysql_connect("localhost","root","123456");
  5.   if (!$con){die('ERROR DE CONEXION CON MYSQL: ' . mysql_error());}
  6. /* ********************************************** */
  7.  
  8. /********* CONECTA CON LA BASE DE DATOS  **************** */
  9.   $database = mysql_select_db("conexion",$con);
  10.   if (!$database){die('ERROR CONEXION CON BD: '.mysql_error());}
  11. /* ********************************************** */
  12.  
  13. //ejecutamos la consulta
  14. $sql = "SELECT nombre, estado, url FROM repara WHERE codigo='"
  15.      .$_POST['codigo']."'";
  16. $result = mysql_query ($sql);
  17. // verificamos que no haya error
  18. if (! $result){
  19.   echo "La consulta SQL contiene errores.".mysql_error();
  20.   exit();
  21. }else {
  22.    echo "<table border='1'><tr><td>Nombre y Apellido</td><td>Estado</td><td>PDF</td>
  23.         </tr><tr>";
  24. //obtenemos los datos resultado de la consulta
  25.    while ($row = mysql_fetch_row($result)){
  26. echo "<td>".$row[0]."</td><td>".$row[1]."</td>
  27.              <td><object type='application/pdf' data='".$row[2]."#toolbar=1&amp;navpanes=0&amp;scrollbar=1' width='900' height='500'><param name='src' value='".$row[2]."#toolbar=1&amp;navpanes=0&amp;scrollbar=1' /></object></td>
  28.  <tr><td>Descarga</td><td><a href='".$row[2]."' target='_blank' />Descarga</a></td></tr>";
  29.  
  30.    }
  31.    echo "</tr></table>";
  32. }
  33. ?>
  34.  

Tienes que pedir la consulta por POST, insertando el codigo de un pdf, para que te muestre el PDF y la consulta de mysql


Título: Re: ayuda en php con pdf
Publicado por: General Dmitry Vergadoski en 30 Octubre 2012, 15:46 pm
amigo no me entendiste, no que me muestre cualquier PDF, que me muestre el resultado de mi consulta en PDF,

por ejemplo:


codigo   1
nombre Pepe
estado  Activo

boton descargar->y se descarga el PDF con los datos de:

codigo   1
nombre Pepe
estado  Activo

ahora si entiendes?


Título: Re: ayuda en php con pdf
Publicado por: wirelesswifi en 30 Octubre 2012, 15:51 pm
Ok, tendrias que pasar la consulta a PDF.

Aqui hay informacion:

http://blog.unijimpe.net/generar-pdf-con-php/

Tu codigo quedaria:

Código
  1. <?php
  2. include ('class.ezpdf.php');
  3.  
  4. /******** CONECTAR CON BASE DE DATOS **************** */
  5.   $con = mysql_connect("localhost","root","123456");
  6.   if (!$con){die('ERROR DE CONEXION CON MYSQL: ' . mysql_error());}
  7. /* ********************************************** */
  8.  
  9. /********* CONECTA CON LA BASE DE DATOS  **************** */
  10.   $database = mysql_select_db("conexion",$con);
  11.   if (!$database){die('ERROR CONEXION CON BD: '.mysql_error());}
  12. /* ********************************************** */
  13.  
  14. //ejecutamos la consulta
  15. $sql = "SELECT codigo, nombre, estado FROM repara WHERE codigo='"
  16.      .$_POST['codigo']."'";
  17. $result = mysql_query ($sql);
  18. // verificamos que no haya error
  19. if (! $result){
  20.   echo "La consulta SQL contiene errores.".mysql_error();
  21.   exit();
  22.  
  23. }else {
  24.    while ($row = mysql_fetch_row($result)){
  25. $pdf = new Cezpdf();
  26. $pdf->ezText("Codigo: $row[0]", 12);
  27. $pdf->ezText("Nombre: $row[1]", 12);
  28. $pdf->ezText("Estado: $row[2]", 12);
  29. $pdf->ezStream();
  30.    }
  31. }
  32.  
  33. ?>

Nombra el codigo que puse: pdf.php

En el mismo directorio de este codigo, insertas:

class.ezpdf.php
class.pdf.php
y la carpeta fonts

Que estan en el zip de la web:

http://blog.unijimpe.net/generar-pdf-con-php/


Título: Re: ayuda en php con pdf
Publicado por: General Dmitry Vergadoski en 30 Octubre 2012, 16:34 pm
ya habia leido eso antes y no entiendo como implementarlo