Avisos
Vaciar todo

error al hacer consulta de mysql y generar pdf  

 
Rodrigo
 Rodrigo
Estimable Member

Hola Saludos a todos.

les platico mi problema miren tengo el siguiente error al querer generar un PDF apartir de una consulta a una Bd de mysql, si uso Mozilla Firefox me sale el siguiente mensaje y si pruebo con Internet Explorer me sale un mensaje como el siguiente: <link href="/serviciosocial/templates/rhuk_milkyway/
eh instalado el IE 8 y me sale la pagina en blanco

menciono que el resultado deseado lo eh logrado con php y con la misma tabla y la misma base de datos. pero a la hora de pasarlo a mi sitio en joomla ( componenres--->breezingforms----> administrador de piezas---->pieza)me salen los errores antes mencionados. ya intenté cambiar el tamaño de la hoja a generar en el PDF de LETTER a A4 pero no consigo, espero que me puedan hechar una mano, gracias mientras sigo buscando alguna solucion.

Citar
Respondido : 19/09/2010 10:35 pm
Jordi Sala
 Jordi Sala
Miembro Admin

Hola,

¿Nos puedes indicar la url para poder visualizar?.
Prueba a desactivar las url's amigables. También prueba a cambiar de plantilla para ver si se reproduce el error.
Indicanos exactamente paso a paso como has realizado todo el proceso.

Saludos,

ResponderCitar
Respondido : 20/09/2010 11:52 am

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Rodrigo
 Rodrigo
Estimable Member

que tal Jordi.

com te va mira un disculpa por la tardanza y espero que alguien mas pueda hecharme una mano, en primera quiero comentarles que desaformtunadamente no dispongo del tiempo completo para desarrollar este proyecto que estoy llevando acabo, es ese el motivo por el cual tardo en responder a algunas preguntas. bien espero su comprension y agradezco mucho su ayuda.

bien, todavia no dispongo de ningun URL Jordi, aun no lo subo a Internet, solo lo estoy desarrollando con el localhost, probare lo que me comentas pero mientras te comento mas a fondo como me surge el problema en cuestion, mira lo que pasa es que estoy desarrollando un proyecto que genera documentos PDF tras rellenar un formulario, y que lleva el control de la entrega de documentos, por cada documento que es generado en mi sitio inserto un registro en una tabla de mi base de datos(jos_documentos), bien lo que quiero hacer ahora es generar un pdf tras realizar una consulta con un formulario a la base de datos, por ejemplo. el usuario administrador(esta parte ya esta resuelto) ira a un formulario de breezingforms, donde escojera un tipo de filtro(mostrar reporte de todos lo usuarios que han entregado documentos, mostrar solo los que no han entregado, mostrar reporte de todos, esto es solo un ejemplo de filtro), pero en primera instancia quiero comenzar probando con la instruccion

SELECT *FROM jos_documentos

y despues pienso meter un join para vincularlo con otra tabla pero quiero comenzar con lo mas "sencillo". Te comento que ya genero pdfs tras pulsar un boton en un breezingforms y para este caso eh realizado el mismo procedimiento
COMPONENTES-->BREEZINGFORMS-->ADMINISTRACION DE FORMULARIOS-->Elijo mi formulario-->ENVIAR PIEZAS y dentro de enviar piezas eh colocado en INICIO DEL SUBMIT la siguiente instruccion

$this->execPieceByName('ff_InitLib');
$this->execPieceByName('ff_hojacontrol');    //Aqui llamo una pieza


//esto es lo que contiene la pieza

require(JPATH_ADMINISTRATOR.DS.'componentscom_breezingformslibrariesfpdfjlpdf.php');
include(JPATH_ADMINISTRATOR.DS.'componentscom_breezingformslibrariesfpdfclass.ezpdf.php');
error_reporting(E_ALL);
//include('class.ezpdf.php');

$pdf = & new Cezpdf('A4','landscape');
$pdf->selectFont('./fonts/Helvetica');
// Se inicializa el contador de paginas en 1 y se especifica en que lugar se va a imprimir
$pdf->ezStartPageNumbers(500,18,10,'','Pagina : {PAGENUM} de {TOTALPAGENUM}',1);

// coloca una linea arriba y abajo de todas las paginas
$fechs = date("d/m/y");
$all = $pdf->openObject();
$pdf->saveState();
$pdf->setStrokeColor(0,0,0,1);
$pdf->line(20,30,750,30);
$pdf->line(20,585,750,585);
$pdf->addText(20,590,10,'Niños de Mexico A.C');
$pdf->addText(650,590,10,'Ofna. de documentaciones');
$pdf->addText(20,18,10,$fechs);
$pdf->restoreState();
$pdf->closeObject();
// termina las lineas
$pdf->addObject($all,'all');
//--------
//
$host = 'localhost';
$user = 'root';
$password = '';//aqui especificaré mi contraseña

$database = 'documentaciones';
// El siguiente query utiliza un filtro que viene de otra pagina
//$query = 'select * from jos_documentos  where '.$sqlr.' order by id';
// Este query esta sin filtro y va a utilizar todos los registros de la BD
$query = 'select id,solicitud,cartacompromiso,cartapresentacion,cartaaceptacion,reporte1,reporte2,reporte3,reporte4,reporte5,reporte6,reporte7,cartaterminacion,hojaliberacion,horasacom from rojilo_documentos order by id';  //Esto es equivalente a SELECT + FROM jos_documentos
//--------

// abrir la conexion
$link = mysql_connect($host,$user,$password);
//cambio de database
mysql_select_db($database);
//inicializa array
$data = array();
// hacer query
$result = mysql_query ($query ) or die (mysql_error());
//
//Aqui se coloca el header de la Tabla
$cols = array('id'=>'Id',
              'solicitud'=>'Solicitud',
              'cartacompromiso'=>'Carta compromiso',
              'cartapresentacion'=>'carta prsentacion',
   'cartaaceptacion'=>'carta de aceptacion',
              'reporte1'=>'1 Reporte',
              'reporte2'=>'2 reporte',
              'reporte3'=>'3 Reporte',
              'reporte4'=>'4 Reporte',
              'reporte5'=>'5 reporte',
              'reporte6'=>'6 Reporte',
              'reporte7'=>'7 Reporte',
              'cartaterminacion'=>'cartadeterminacion',
              'hojaliberacion'=>'hojadeliberacion',
              'horasacom'=>'horasacomuladas');
              //'fecha_lib'=>'Fech Lib',
              //'vendedor'=>'Vend');
//

while ($row = mysql_fetch_row($result)) 
{
    $id = $row[0];    // Id
    $sol = $row[1];    // Solicitud
    $comp = $row[2];    // Cartacompromiso
    $pres = $row[3];
    $acept = $row[4];      
    $r1 = $row[5];
    $r2 = $row[6];    // Tipo de Cartacompromiso
    $r3 = $row[7];
    $r4 = $row[8];  //Oficina
    $r5 = $row[9];
    $r6 = $row[10]; 
    $r7 = $row[11]; // Factura Anticipo
    $term = $row[12]; // Pagado
    $lib = $row[13]; //
    $horas = $row[14]; // Factura Anticipo
    //$flb = $row[14]; 
    //$vnd = $row[15]; // Vendedor
    //$smc = $row[16] ;

 	//liea 108
    // Aqui se agregan las variables formateadas al array
    $data[] = array('id'=>$id,
                    'solicitud'=>$sol,
                    'cartacompromiso'=>$comp,
                    'cartapresentacion'=>$pres,
  'cartaaceptacion'=>$acept,
                    'reporte1'=>$r1,
                    'reporte2'=>$r2,
                    'reporte3'=>$r3,
'reporte4'=>$r4,
'reporte5'=>$r5,
'reporte6'=>$r6,
'reporte7'=>$r7,
                    'cartaterminacion'=>$term,
                    'hojaliberacion'=>$lib,
                    'horasacom'=>$horas);
                    //'factura_ant'=>$fca,
                    //'pagado'=>$pag);
                    //'fecha_pag'=>$ffp,
                    //'factura_pag'=>$fap,
                    //'fecha_lib'=>$flb,
                    //'vendedor'=>$vnd);
//LINEA 110
}
// Se agrega una linea en blanco como separador de datos y totales
    $data[] = array('id'=>'',
                    'solicitud'=>'',
                    'cartacompromiso'=>'',
                    'cartapresentacion'=>'',
  'cartaaceptacion'=>'',
                    'reporte1'=>'',
                    'reporte2'=>'',
                    'reporte3'=>'',
'reporte4'=>'',
'reporte5'=>'',
'reporte6'=>'',
'reporte7'=>'',
                    'cartaterminacion'=>'',
                    'hojaliberacion'=>'',
                    'horasacom'=>'');
             
//139

// Se agrega la linea que contiene los totales de Registros, Reporte3 y Anticipo
    $data[] = array('id'=>'',
                    'solicitud'=>'',
                    'cartacompromiso'=>'',
                    'cartapresentacion'=>'',
'cartaaceptacion'=>'',
                    'reporte1'=>'',
                    'reporte2'=>'',
                    'reporte3'=>'',
  'reporte4'=>'',
  'reporte5'=>'',
  'reporte6'=>'',
  'reporte7'=>'',
                    'cartaterminacion'=>'',
                    'hojaliberacion'=>'',
                    'horasacom'=>'');
  

                    
$pdf->ezTable($data,$cols,'',array('fontSize'=>6,
'cols'=>array(
                'id'=>array('justification'=>'center')
                ,'solicitud'=>array('justification'=>'left')
                ,'cartacompromiso'=>array('justification'=>'left')
                ,'cartapresentacion'=>array('justification'=>'center')
,'cartaaceptacion'=>array('justification'=>'center')
                ,'reporte1'=>array('justification'=>'center')
                ,'reporte2'=>array('justification'=>'center')
             ,'reporte3'=>array('justification'=>'center')
   ,'reporte4'=>array('justification'=>'center')
   ,'reporte5'=>array('justification'=>'center')
   ,'reporte6'=>array('justification'=>'center')
   ,'reporte7'=>array('justification'=>'center')
                ,'cartaterminacion'=>array('justification'=>'center')
                ,'hojaliberacion'=>array('justification'=>'right')
                ,'horasacom'=>array('justification'=>'center'))
               
if (isset($d) && $d)
{
    $pdfcode = $pdf->ezOutput();
    $pdfcode = str_replace('n','n
',htmlspecialchars($pdfcode)); echo ''; echo 'error'; echo trim($pdfcode); echo ''; } else { $pdf->ezStream(); }

quiero decirles tambien que este codigo ya lo eh probado en otro directorio diferente dentro de mi carpeta www donde tengo los archivos necesarios para las instrcciones "require" e "include" y me funciona a la perfeccion.
este es el codigo equivalente en php

selectFont('./fonts/Helvetica');
// Se inicializa el contador de paginas en 1 y se especifica en que lugar se va a imprimir
$pdf->ezStartPageNumbers(500,18,10,'','Pagina : {PAGENUM} de {TOTALPAGENUM}',1);

// coloca una linea arriba y abajo de todas las paginas
$fechs = date("d/m/y");
$all = $pdf->openObject();
$pdf->saveState();
$pdf->setStrokeColor(0,0,0,1);
$pdf->line(20,30,750,30);
$pdf->line(20,585,750,585);
$pdf->addText(20,590,10,'Niños de Mexico A.C');
$pdf->addText(650,590,10,'Oficina de documentosl');
$pdf->addText(20,18,10,$fechs);
$pdf->restoreState();
$pdf->closeObject();
// termina las lineas
$pdf->addObject($all,'all');
//--------
//
$host = 'localhost';
$user = 'root';
$password = 'password';

$database = 'documentacionesl';
// El siguiente query utiliza un filtro que viene de otra pagina
//$query = 'select * from jos_documentos where '.$sqlr.' order by id';
// Este query esta sin filtro y va a utilizar todos los registros de la BD
$query = 'select id,solicitud,cartacompromiso,cartapresentacion,cartaaceptacion,reporte1,reporte2,reporte3,reporte4,reporte5,reporte6,reporte7,cartaterminacion,hojaliberacion,horasacom from jos_documentos order by id';
//--------

// abrir la conexion
$link = mysql_connect($host,$user,$password);
//cambio de database
mysql_select_db($database);
//inicializa array
$data = array();
// hacer query
$result = mysql_query ($query ) or die (mysql_error());
//
//Aqui se coloca el header de la Tabla
$cols = array('id'=>'Id',
'solicitud'=>'Solicitud',
'cartacompromiso'=>'Carta compromiso',
'cartapresentacion'=>'carta prsentacion',
'cartaaceptacion'=>'carta de aceptacion',
'reporte1'=>'1 Reporte',
'reporte2'=>'2 reporte',
'reporte3'=>'3 Reporte',
'reporte4'=>'4 Reporte',
'reporte5'=>'5 reporte',
'reporte6'=>'6 Reporte',
'reporte7'=>'7 Reporte',
'cartaterminacion'=>'cartadeterminacion',
'hojaliberacion'=>'hojadeliberacion',
'horasacom'=>'horasacomuladas');
//'fecha_lib'=>'Fech Lib',
//'vendedor'=>'Vend');
//

while ($row = mysql_fetch_row($result))
{
$id = $row[0]; // Id
$sol = $row[1]; // Solicitud
$comp = $row[2]; // Cartacompromiso
$pres = $row[3];
$acept = $row[4];
$r1 = $row[5];
$r2 = $row[6]; // Tipo de Cartacompromiso
$r3 = $row[7];
$r4 = $row[8]; //Oficina
$r5 = $row[9];
$r6 = $row[10];
$r7 = $row[11]; // Factura Anticipo
$term = $row[12]; // Pagado
$lib = $row[13]; //
$horas = $row[14]; // Factura Anticipo

$data[] = array('id'=>$id,
'solicitud'=>$sol,
'cartacompromiso'=>$comp,
'cartapresentacion'=>$pres,
'cartaaceptacion'=>$acept,
'reporte1'=>$r1,
'reporte2'=>$r2,
'reporte3'=>$r3,
'reporte4'=>$r4,
'reporte5'=>$r5,
'reporte6'=>$r6,
'reporte7'=>$r7,
'cartaterminacion'=>$term,
'hojaliberacion'=>$lib,
'horasacom'=>$horas);

//LINEA 110
}
// Se agrega una linea en blanco como separador de datos y totales
$data[] = array('id'=>'',
'solicitud'=>'',
'cartacompromiso'=>'',
'cartapresentacion'=>'',
'cartaaceptacion'=>'',
'reporte1'=>'',
'reporte2'=>'',
'reporte3'=>'',
'reporte4'=>'',
'reporte5'=>'',
'reporte6'=>'',
'reporte7'=>'',
'cartaterminacion'=>'',
'hojaliberacion'=>'',
'horasacom'=>'');

// Se agrega la linea que contiene los totales de Registros, Reporte3 y Anticipo
$data[] = array('id'=>'',
'solicitud'=>'',
'cartacompromiso'=>'',
'cartapresentacion'=>'',
'cartaaceptacion'=>'',
'reporte1'=>'',
'reporte2'=>'',
'reporte3'=>'',
'reporte4'=>'',
'reporte5'=>'',
'reporte6'=>'',
'reporte7'=>'',
'cartaterminacion'=>'',
'hojaliberacion'=>'',
'horasacom'=>'');

$pdf->ezTable($data,$cols,'',array('fontSize'=>6,
'cols'=>array(
'id'=>array('justification'=>'center')
,'solicitud'=>array('justification'=>'left')
,'cartacompromiso'=>array('justification'=>'left')
,'cartapresentacion'=>array('justification'=>'center')
,'cartaaceptacion'=>array('justification'=>'center')
,'reporte1'=>array('justification'=>'center')
,'reporte2'=>array('justification'=>'center')
,'reporte3'=>array('justification'=>'center')
,'reporte4'=>array('justification'=>'center')
,'reporte5'=>array('justification'=>'center')
,'reporte6'=>array('justification'=>'center')
,'reporte7'=>array('justification'=>'center')
,'cartaterminacion'=>array('justification'=>'center')
,'hojaliberacion'=>array('justification'=>'right')
,'horasacom'=>array('justification'=>'center'))

if (isset($d) && $d){
$pdfcode = $pdf->ezOutput();
$pdfcode = str_replace('n','n
',htmlspecialchars($pdfcode));
echo '';
echo trim($pdfcode);
echo '';
} else {
$pdf->ezStream();
}
?>

al usar firefox me arroja el siguiente mensaje en la parte superios izquierdo con una pantalla en blanco y si uso internet explorer solo me sale una pantalla en blanco.-
Espero sus comentarios y les agradesco de antemano

ResponderCitar
Respondido : 28/09/2010 7:21 pm
Rodrigo
 Rodrigo
Estimable Member

http://127.0.0.1/ssocial/index.php?option=com_breezingforms&Itemid=12
esta es la URL de mi formulario y por lo general el PDF se deberia mostrar con la misma direccion, ya que no lo muestro en un frame si no que se abre una nueva pagina con el PDF en la misma ventana,

ResponderCitar
Respondido : 02/10/2010 3:26 am

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

Luis Mendez Alejo
 Luis Mendez Alejo
Miembro Moderator

Hola chapulin,

No te puedo responder a todo el proceso porque tendría que reproducirlo para ver que funciona y como y de ese modo tener una idea propia para poder dar una respuesta, en caso de tenerla.

Solo quiero referirme a la url que aportas, que es local, apunta a tu máquina y no se puede consultar.

Saludos

ResponderCitar
Respondido : 02/10/2010 3:45 am
Rodrigo
 Rodrigo
Estimable Member

Gracias Grumax,

gracias por tu respuesta, eh leido en algunos foros y creen que lo que ocasiona el error es un bug del joomla vea esto http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=16967

eh hecho lo que ahi se indica que es sustituir un bloque de la instruccion por el que proporciona este autor pero no queda, ya probé cambiando las plantillas y ni aun asi, el detalle es que si el codigo PHP lo ejecuto en otra carpeta independiente a mi joomla si funciona, es decir, el codigo que eh puesto en mi pieza(Administrador de piezas) en su equivalente a PHP funciona bien,

Tal ves pudieras decirme grumax o alguien de los administradores tambien en que otros archivos de mi joomla se evalua la version del navegador que uso aparte del archivo head.PHP ubicado en el directorio mi joomlalibrariesjoomladocumenthtmlrenderer gracias seguire buscando alguna solosion, pero de todas formas agradesco y agradeceré mucho su ayuda.

ResponderCitar
Respondido : 03/10/2010 2:26 am

Cursos Gratuitos WordPress