Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO FPDF Problemas para procesar consulta a bd

Estas en el tema de FPDF Problemas para procesar consulta a bd en el foro de PHP en Foros del Web. Hola, buen día, este vendria siendo mi tercer post en esta comunidad (solo lo voy diciendo por decirlo, no es que me vaya a poner ...
  #1 (permalink)  
Antiguo 29/07/2014, 08:51
 
Fecha de Ingreso: junio-2014
Ubicación: Trujillo
Mensajes: 37
Antigüedad: 10 años, 5 meses
Puntos: 0
FPDF Problemas para procesar consulta a bd

Hola, buen día, este vendria siendo mi tercer post en esta comunidad (solo lo voy diciendo por decirlo, no es que me vaya a poner a llevar la cuenta de todo lo que hago ), hasta ahora me ha ido muy bien por aqui y he aprendido bastante (tanto solo revisando otros temas como tratando los que me interesan), bueno ya sin mucho rodeo voy a la que vine. Ando haciendo un sistema de consultas de recibos de pago para un amigo (en post anteriores trates temas similares con el mismo en los que ya me han ayudado algunos usuarios de esta comunidad, muchas gracias), bueno en este sistema tambien tengo unos archivos que trabajan con la libreria FPDF para generar un recibo de pago imprimible que los usuarios pueden generar dandole a un boton, antes de hacer unos pequeños arreglos que me pidieron a ultimo minuto funcionaba, pero ahora no lo hace, bueno creo que mejor aclaro a partir de aqui, el sistema de consultas de recibo de pago de mi amigo lo que basicamente hace es funcionar como un buscador que te toma 2 datos para la busqueda en base al usuario que esta conectado al sistema durante la sesion, si los encuentra te los muestra junto con el boton para generar el recibo, sino te avisa, el problema viene siendo que cuando se presiona el boton para generar el pdf parece que la información buscada la pierde o no procesa la consulta a la bd (el archivo de la busqueda como el de generar el recibo de pago estan asociados a otro donde esta la configuracion de las clases y funciones que usa). Creo que quedara mas claro si ven el codigo:

Este es el formulario:
Código PHP:
<?php
require_once ("../app/config/myDBC.php");
if(isset(
$_SESSION['session']))
{
?>
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link type="text/css" href="../app/estilos/estilo.css" rel="stylesheet" />
<title>..:PAGINA PRINCIPAL:..</title>
</head>
 
<body bgcolor="white">
    <center><h2>BIENVENIDO</h2></center>
<div id="envoltura">
        <div id="contenedor">
 
            <div id="cabecera" >
                <img src="../app/imagenes/logo.png">
            </div>
 
            <div id="cuerpo">
                <form name="buscar" action="buscar.php" method="post">
                    <!--A saber, el atributo for funciona como el id.-->
                    <!--ejemplo <label for="usuario">Usuario:</label>-->
                    <!--required es nuevo en html5, si el campo está vacío te avisa, pero cuidado, no valida la información-->
                    <p><label >Mes:</label></p>
                        <select name="mes" id="mes">
                            <option>Enero</option>
                            <option>Febrero</option>
                            <option>Marzo</option>
                            <option>Abril</option>
                            <option>Mayo</option>
                            <option>Junio</option>
                            <option>Julio</option>
                            <option>Agosto</option>
                            <option>Septiembre</option>
                            <option>Octubre</option>
                            <option>Noviembre</option>
                            <option>Diciembre</option>
                          </select></p>
                    
                    <p><label>Año:</label></p>
                        <select name="anio" id="anio">
                            <option>2013</option>
                            <option>2014</option>
                          </select></p>
 
                    <p id="bot"><input name="buscar" type="submit" id="buscar" value="Buscar" class="boton"></p>
                </form>
            </div><!--fin cuerpo-->
 
            <div id="pie">Sistema de Consulta de Pagos</div>
        </div><!-- fin contenedor -->
         <div id="button"><a href="../app/salir.php"><h4><img src="../app/imagenes/salir.png"></a></div>
    </div><!--fin envoltura-->
 
    <!--a href="../app/salir.php"><h4><img src="../app/imagenes/salir.png"></h4></a-->
</body>
</html>
<?php
}else
echo
'<script type="text/javascript">
      alert("Registrarse para ver este contenido");
      window.location="../app/index.php"
</script>'
;
?>
Aqui muestra los resultados de la busqueda:
Código PHP:
<?php
header
("Content-Type: text/html;charset=utf-8");
require_once (
"../app/config/myDBC.php");
if(isset(
$_SESSION['session']))
{
?>
<!DOCTYPE html>
<html lang="es">
 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link type="text/css" href="../estilos/estilo.css" rel="stylesheet" />
    <title>Resultados de Busqueda</title>
</head>
 
<body bgcolor="blue">
 <div id="envoltura">
        <div id="contenedor">
 
            <div id="cabecera" >
                <img src="../imagenes/logo.png">
            </div>
 
            <div id="cuerpo">
                    <?php
                    
//Recibimos en variables los campos de la busqueda
                    //Con trim quitamos espacios en blanco al inicio y final
                    
$cedula $_SESSION['session']['cedula'];
                    if (
$cedula $_SESSION['session']['cedula']){
                    
$mes trim($_POST['mes']);
                    
$año trim($_POST['anio']);
                    
$consultas = new myDBC();
                    
$resultados $consultas->seleccionar_recibo($cedula,$mes,$año);
                    
?>
                    <?php foreach($resultados as $row){?>
                    <table border=1>
                    <td>C&eacute;dula:</td><td><?php echo $row['r_mesCedulaE'];?></td>
                    <tr>
                    <td>Nombre:</td><td><?php echo $row['r_mesNombreC'];?></td>  
                    </tr>
                    <tr>
                    <td>Cargo:</td><td><?php echo $row['r_mesNom_cargoC'];?></td>
                    </tr>
                    </table>
                    <br>
                    </br>
                    <table border=1>
                    <td align="center" colspan="2">Asignaci&oacute;nes</td>
                    <tr>
                    <td><?php echo $row['r_mesDescripcion_conceptoC'];?></td><td><?php echo $row['r_mesAsignacionR'];?></td>
                    </tr>
                    <tr>
                    <td align="center" colspan="2">Deducci&oacute;nes</td>
                    </tr>
                    <tr>
                    <td><?php echo $row['r_mesDescripcion_conceptoC'];?></td><td><?php echo $row['r_mesDeduccionR'];?></td>
                    </tr>
                    <td>Total</td><td><?php echo $row['r_mesTotal_netoR'];?></td>
                    <tr>
                    <td>Mes</td><td><?php echo $row['r_mesMesC'];?>
                    </tr>
                    <tr>
                    <td>A&ntilde;o</td>                  
                    <td><?php echo $row['r_mesAnoF'];?></td>
                    </tr>
                    </table>
            <div id="button"><a href="../app/crear_recibo_pdf.php"><h4><img src="../app/imagenes/pdf.png"></a></a></div>
            </div><!--fin cuerpo-->
            <div id="pie">Sistema de Consulta de Pagos</div>
        </div><!-- fin contenedor -->
         <div id="button"><a href="../app/salir.php"><h4><img src="../app/imagenes/salir.png"></a>
         <a href="../app/principal.php"><img src="../app/imagenes/regresar.png"></a></div>
    </div><!--fin envoltura-->
</body>
 
</html>
<?php
}
}
}else
echo
'<script type="text/javascript">
      alert("Registrarse para ver este contenido");
      window.location="../app/index.php"
</script>'
;
?>
Y este genera el pdf:
Código PHP:
<?php
header
("Content-Type: text/html;charset=utf-8");
include_once(
'../app/config/myDBC.php');
include_once(
'../app/config/pdf.php');

    
//Recibimos la cedula a buscar
    
$cedula $_SESSION['session']['cedula'];
    
$mes trim($_POST['mes']);
    
$año trim($_POST['anio']);
    
/* En la variable $fecha se crea una cadena con datos
         * obtenidos de POST, la cual usaremos en un método Cell()
        **/
    //$fecha="Trujillo a los ".$_POST['dia']." de ". $_POST['mes']. " del ".$_POST['anio'];
 
    //Se crea un objeto de PDF
    //Para hacer uso de los métodos
    
$pdf = new PDF();
    
$pdf->AddPage('P''Letter'); //Vertical, Carta
    
$pdf->SetFont('Arial','B',12); //Arial, negrita, 12 puntos
    //$pdf->Cell(0,10,$fecha,0,1,'R'); //Imprime en el pdf la cadena $fecha
    /* Explicación:
         * 0 - La celda se extiende a todo lo ancho de la hoja
         * 10 - Alto de la celda
         * $fecha - la cadena a imprimir
         * 0 - sin borde (cambien a 1 y chequen el cambio)
         * 1 - Lo que sigue a la celda estará en la siguiente línea
         * 'R' - Texto alineado a la derecha
         * */
    
$pdf->Ln();
 
    
//$pdf->ImprimirTexto('textoFijo.txt'); //Texto fijo
 
    //Creamos objeto de la clase myDBC
    //para hacer uso del método seleccionar_recibo()
    
$consultaPersona = new myDBC();
    
//En una variable guardamos el array que regresa el método
    
$datosPersona $consultaPersona->seleccionar_recibo($cedula,$mes,$año);
    
//Array de cadenas para la cabecera
    
$cabecera = array("Cédula","Nombre","Código Cargo","Cargo","Tipo Contrato","Ingreso","Nomina a Pagar","Descripción","Asignaciones","Deducciones","Total","Mes","Año");

    
$pdf->tabla($cabecera,$datosPersona); //Método que integra a cabecera y datos
    
$pdf->Output(); //Salida al navegador del pdf
?>
Bueno despues pongo el archivo de configuración de las clases y funciones y el de la libreria antes mencionada, porque no creo que el foro me permita tanto espacio para postear ...
  #2 (permalink)  
Antiguo 29/07/2014, 08:59
 
Fecha de Ingreso: junio-2014
Ubicación: Trujillo
Mensajes: 37
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: FPDF Problemas para procesar consulta a bd

Y aqui van los que faltan:

Configuración libreria FPDF:

Código PHP:
<?php
include_once('../libs/fpdf/fpdf.php');
//include_once('../libs/fpdf/mc_table.php');
/*
 * Se debe crear siempre una clase heredada de FPDF
 * y partir de aqui se irán agregando la cabecera
 * footer, cuerpo, etc
 * */

//Clase en blanco
class PDF extends FPDF
{
    function 
Footer() // Pie de página
    
{
        
// Posición: a 1,5 cm del final
        
$this->SetY(-15);
        
// Arial italic 8
        
$this->SetFont('Arial','I',8);
        
/* Cell(ancho, alto, txt, border, ln, alineacion)
         * ancho=0, extiende el ancho de celda hasta el margen de la derecha
         * alto=10, altura de la celda a 10
         * txt= Texto a ser impreso dentro de la celda
         * border=T Pone margen en la posición Top (arriba) de la celda
         * ln=0 Indica dónde sigue el texto después de llamada a Cell(), en este caso con 0, enseguida de nuestro texto
         * alineación=C Texto alineado al centro
         */
        
$this->Cell(0,10,'FUNDASALUD Trujillo 2014','T',0,'C');
    }
 
    function 
Header() //Encabezado
    
{
        
//Define tipo de letra a usar, Arial, Negrita, 15
        
$this->SetFont('Arial','B',9);
        
        
/* Líneas paralelas
         * Line(x1,y1,x2,y2)
         * El origen es la esquina superior izquierda
         * Cambien los parámetros y chequen las posiciones
         * */
        
$this->Line(10,10,206,10);
        
$this->Line(10,35.5,206,35.5);
        
        
/* Explicaré el primer Cell() (Los siguientes son similares)
         * 30 : de ancho
         * 25 : de alto
         * ' ' : sin texto
         * 0 : sin borde
         * 0 : Lo siguiente en el código va a la derecha (en este caso la segunda celda)
         * 'C' : Texto Centrado
         * $this->Image('images/logo.png', 152,12, 19) Método para insertar imagen
         *     'images/logo.png' : ruta de la imagen
         *     152 : posición X (recordar que el origen es la esquina superior izquierda)
         *     12 : posición Y
         *     19 : Ancho de la imagen <span class="wp-smiley emoji emoji-wordpress" title="(w)">(w)</span>
         *     Nota: Al no especificar el alto de la imagen (h), éste se calcula automáticamente
         * */
 
        
$this->Cell(30,25,'',0,0,'C',$this->Image('../app/imagenes/logo_izquierda.png'135,12,31));
        
$this->Cell(120,25,'FUNDASALUD Trujillo',0,0,'C'$this->Image('../app/imagenes/logo.png',20,12,31));
        
$this->Cell(40,25,'',0,0,'C',$this->Image('../app/imagenes/logo_derecha.png',17512,25));
 
        
//Se da un salto de línea de 25
        
$this->Ln(25);
    }
 
    
/*function ImprimirTexto($file)
    {
        // Leemos el archivo de texto
        $txt = file_get_contents($file);
        /*
         * Arial - Fuente
         * '' - cadena vacía significa imrpimir el texto normal o
         *      se puede poner en Negrita 'B', Italico 'I' o Subrayado 'U'
         *      o una combinación de éstos.
         * 12 - tamaño de fuente
         * *
        $this->SetFont('Arial','',12);
        /*
         * 0 - el ancho se ajusta al margen de la hoja
         * 5 - alto de la celda
         * $txt - Texto a imrpimir.
         * NOTA: Los valores para justificar el texto y celda sin borde
         *       no los pasé, porque son valores por defecto del mismo método
         *
         * Pero quedaría así: MutiCell(0, 5, $txt, 0, 'J')
         * No olviden ver y 'jugar' con los parámetros
         **
        $this->MultiCell(0,5,$txt);
 
    }*/
 
    
function cabecera($cabecera)
    {
        
$this->SetXY(48,115);
        
$this->SetFont('Arial','B',15);
        foreach(
$cabecera as $columna)
        {
            
$this->Cell(42,7,$columna,1'L' );
        }
    }
 
    function 
datos($datos)
    {
        
$this->SetXY(90,115);
        
$this->SetFont('Arial','',12);
            foreach (
$datos as $columna)
            {
                
$this->Cell(80,7,utf8_decode($columna['r_mesCedulaE']),'TRB',2,'L' );
                
$this->Cell(80,7,utf8_decode($columna['r_mesNombreC']),'TRB',2,'L' );
                
$this->Cell(80,7,utf8_decode($columna['r_mesCodigoC']),'TRB',2,'L' );
                
$this->Cell(80,7,utf8_decode($columna['r_mesNom_cargoC']),'TRB',2,'L' );
                
$this->Cell(80,7,utf8_decode($columna['r_mesT_contratoN']),'TRB',2,'L' );
                
$this->Cell(80,7,utf8_decode($columna['r_mesFecha_ingresoF']),'TRB',2,'L' );
                
$this->Cell(80,7,utf8_decode($columna['r_mesDes_nominaC']),'TRB',2,'L' );
                
$this->Cell(80,7,utf8_decode($columna['r_mesDescripcion_conceptoC']),'TRB',2,'L' );
                
$this->Cell(80,7,utf8_decode($columna['r_mesAsignacionR']),'TRB',2,'L' );
                
$this->Cell(80,7,utf8_decode($columna['r_mesDeduccionR']),'TRB',2,'L' );
                
$this->Cell(80,7,utf8_decode($columna['r_mesTotal_netoR']),'TRB',2,'L' );
                
$this->Cell(80,7,utf8_decode($columna['r_mesMesC']),'TRB',2,'L' );
                
$this->Cell(80,7,utf8_decode($columna['r_mesAnoF']),'TRB',2,'L' );
            }
 
    }
 
    
//El método tabla integra a los métodos cabecera y datos
    
function tabla($cabecera,$datos)
    {
        
$this->cabecera ($cabecera);
        
$this->datos($datos);
    }
 
}
//fin clase PDF
?>
...
  #3 (permalink)  
Antiguo 29/07/2014, 09:01
 
Fecha de Ingreso: junio-2014
Ubicación: Trujillo
Mensajes: 37
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: FPDF Problemas para procesar consulta a bd

Y este ultimo el de configuración de las clases y funciones del sistema:
Código PHP:
<?php
ini_set
('display_errors'1);
session_start();
// My database Class called myDBC
class myDBC {
    
// our mysqli object instance
    
public $mysqli null;
 
    
// Class constructor override
    
public function __construct() {
 
        include_once 
"dbconfig.php";
        
$this->mysqli = new mysqli(DB_SERVERDB_USERDB_PASSDB_NAME);
 
        if (
$this->mysqli->connect_errno) {
            echo 
"Error MySQLi: ("&nbsp$this->mysqli->connect_errno.") " $this->mysqli->connect_error;
            exit();
        }
        
$this->mysqli->set_charset("utf8");
    }
 
    
// Class deconstructor override
    
public function __destruct() {
        
$this->CloseDB();
    }
 
    
// runs a sql query
    
public function runQuery($qry) {
        
//$pk1 = $this->mysqli->insert_id($pk1);
        
$result $this->mysqli->query($qry);
        
//$result1 = $this->mysqli->query($q1);
        //$result2 = $this->mysqli->query($q2);
         //return $pk1;
         
return $result;
         
//return $result1;
         //return $result2;
    
}
 
    
// Close database connection
    
public function CloseDB() {
        
$this->mysqli->close();
    }
 
    
// Escape the string get ready to insert or update
    
public function clearText($text) {
        
$text trim($text);
        return 
$this->mysqli->real_escape_string($text);
    }
 
    public function 
logueo($cedula$contrasenia){
        
//El password obtenido se le aplica el crypt
        //Posteriormente se compara en el query
        
$pass_c crypt($contrasenia'_er#.lop');
        
$qry "select * from usuarios where usuR_mesCedulaC='$cedula' and usuClaveC='$contrasenia'";
 
        
$result $this->mysqli->query($qry);
        
//Si el resultado obtenido no tiene nada
        //Muestra el error y redirige al index
        
if( $result->num_rows == 0)
        {
            echo
'<script type="text/javascript">
                alert("Usuario o Contraseña Incorrecta");
                window.location="../app/index.php"
                </script>'
;
        }
 
        
//En otro caso
        //En $reg se guarda el resultado de la consulta
        //Al segundo posición de SESION se le asigna el id del usuario
        //Redirige a página logueada
        
else{
            
$reg mysqli_fetch_assoc($result);
            
$_SESSION["session"]["cedula"] = $reg["usuR_mesCedulaC"];
            
header("location:../app/principal.php");
        }
 
    }
    public function 
busquedasesion($cedula){
    
/*if($_POST)
{
$keys_post = array_keys($_POST);
foreach ($keys_post as $key_post)
{
$$key_post = $_POST[$key_post];
error_log("variable $key_post viene desde $ _POST");
}
}
if($_GET)
{
$keys_get = array_keys($_GET);
foreach ($keys_get as $key_get)
{
$$key_get = $_GET[$key_get];
error_log("variable $key_get viene desde $ _GET");
}
}*/  
    
if($_SESSION)
{
$cedula array_cedula($_SESSION);
foreach (
$cedula as $cedula)
{
$cedula $_SESSION[$cedula];
error_log("variable $cedula viene desde $ _SESSION");
}
}

    public function 
agregaUsuario($cedula$pass){
 
        
//Selecciona la cédula ingresada para validarla, en la variable valida
        //está el resultado de la consulta
 
        
$nueva_cedula "select usuR_mesCedulaC from usuarios where usuR_mesCedulaC='$cedula'";
        
$valida $this->mysqli->query($nueva_cedula);
 
        
//Como cédula es UNIQUE si valida tiene más de un resultado,
        //la cédula ya estaba en la base de datos
        
if($valida->num_rows 0)
        {
              echo
'<script type="text/javascript">
                alert("Error al registrar! - Cédula Duplicada- Ingresa otra");
                window.location="../app/registro.php"
                </script>'
;
        }
        
//Sino hubo cédula repetida
        
else
        {
            
//Inserta en la BD
            
$qry "INSERT INTO usuarios (usuR_mesCedulaC, usuClaveC) VALUES ('$cedula', '$pass');";
            
//$q1 = "INSERT INTO usuarios (usuR_mesCedulaC, usuClaveC) VALUES ('$cedula', '$pass');";
            //$q2 = "INSERT INTO t_usuarios (t_usuTipo_usuarioN) VALUES ('$t_usu');";
 
            
$result $this->mysqli->query($qry);
            
//$result1 = $this->mysqli->query($q1);
            //$result2 = $this->mysqli->query($q2);
            
            
if($result){//Si resultado es true, se agregó correctamente
                    
echo'<script type="text/javascript">
                        alert("Agregado Exitosamente");
                        window.location="../app/index.php"
                        </script>'
;
            }
            else{ 
//Si hubo error al insertar, se avisa
                
echo'<script type="text/javascript">
                     alert("Algo fallo");
                     window.location="../app/registro.php"
                     </script>'
;
 
            }
        }
    }
 public function 
seleccionar_recibo($cedula,$mes,$año)
    {
        
$qry "select 
              r_mesCodigoC, 
              r_mesCedulaE, 
              r_mesNombreC,
              r_mesCod_cargoC,
              r_mesNom_cargoC,              
              r_mesT_contratoN, 
              r_mesFecha_ingresoF, 
              r_mesDependenciaC, 
              r_mesNom_ubiC, 
              r_mesBancoC, 
              r_mesCuentaC,              
              r_mesDescripcion_conceptoC, 
              r_mesOrden_conceptoC,  
              r_mesAsignacionR, 
              r_mesDeduccionR, 
              r_mesTotal_netoR, 
              r_mesDes_nominaC, 
              r_mesNom_reporteC, 
              r_mesMesC, 
              r_mesAnoF from r_mes
                     where
                     r_mesCedulaE = '$cedula' and r_mesMesC = '$mes' and r_mesAnoF = '$año'"
;
 
        
$result $this->mysqli->query($qry);
 
        
//Array asociativo que contendrá los datos
        
$valores = array();
 
        
//Si no hay resultados
        //Se avisa al usuario y se redirige al index de la aplicación
        
if($result->num_rows == 0)
        {
            echo
'<script type="text/javascript">
              alert("Ningun registro");
              window.location="../app/principal.php"
            </script>'
;
 
        }
      
//En otro caso, se recibe la información y se
      //se regresa un array con los datos de la consulta
      
else{
            while(
$row mysqli_fetch_assoc($result))
            {
                
//Se agrega cada valor en el array
                
array_push($valores$row);
            }
      }
        
//Regresa array asociativo
        
return $valores;
    }
?>
Perdon por lo largo , pero queria aclarar mi punto, si le encuentro solución por aqui la pongo asi le sirve a otro, bueno nos vemos ...
  #4 (permalink)  
Antiguo 29/07/2014, 09:50
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 10 meses
Puntos: 288
Respuesta: FPDF Problemas para procesar consulta a bd

Hola publicaste 3 post pero en ningun lugar dice cual es tu problema

si realmente tenes un problema mostranos solo la linea te da error y el error que te muestra es tan simple como eso
  #5 (permalink)  
Antiguo 29/07/2014, 12:21
 
Fecha de Ingreso: junio-2014
Ubicación: Trujillo
Mensajes: 37
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: FPDF Problemas para procesar consulta a bd

Cita:
Iniciado por Patriarka Ver Mensaje
Hola publicaste 3 post pero en ningun lugar dice cual es tu problema

si realmente tenes un problema mostranos solo la linea te da error y el error que te muestra es tan simple como eso
Buenas tardes, gracias por responder, ah respecto a eso, eso lo hice por problemas del limite de largo del post, ahora en cuanto a lo que dijiste, pues la verdad me falto agregar eso, bueno va asi, tengo problemas para que ejecute estas lineas:

Código PHP:
<?php
header
("Content-Type: text/html;charset=utf-8");
include_once(
'../app/config/myDBC.php');
include_once(
'../app/config/pdf.php');

    
//Recibimos la cedula a buscar
    
$cedula $_SESSION['session']['cedula'];
    
$mes trim($_POST['mes']);
    
$año trim($_POST['anio']);
    
/* En la variable $fecha se crea una cadena con datos
         * obtenidos de POST, la cual usaremos en un método Cell()
        **/
    //$fecha="Trujillo a los ".$_POST['dia']." de ". $_POST['mes']. " del ".$_POST['anio'];
 
    //Se crea un objeto de PDF
    //Para hacer uso de los métodos
    
$pdf = new PDF();
    
$pdf->AddPage('P''Letter'); //Vertical, Carta
    
$pdf->SetFont('Arial','B',12); //Arial, negrita, 12 puntos
    //$pdf->Cell(0,10,$fecha,0,1,'R'); //Imprime en el pdf la cadena $fecha
    /* Explicación:
         * 0 - La celda se extiende a todo lo ancho de la hoja
         * 10 - Alto de la celda
         * $fecha - la cadena a imprimir
         * 0 - sin borde (cambien a 1 y chequen el cambio)
         * 1 - Lo que sigue a la celda estará en la siguiente línea
         * 'R' - Texto alineado a la derecha
         * */
    
$pdf->Ln();
 
    
//$pdf->ImprimirTexto('textoFijo.txt'); //Texto fijo
 
    //Creamos objeto de la clase myDBC
    //para hacer uso del método seleccionar_recibo()
    
$consultaPersona = new myDBC();
    
//En una variable guardamos el array que regresa el método
    
$datosPersona $consultaPersona->seleccionar_recibo($cedula,$mes,$año);
    
//Array de cadenas para la cabecera
    
$cabecera = array("Cédula","Nombre","Código Cargo","Cargo","Tipo Contrato","Ingreso","Nomina a Pagar","Descripción","Asignaciones","Deducciones","Total","Mes","Año");

    
$pdf->tabla($cabecera,$datosPersona); //Método que integra a cabecera y datos
    
$pdf->Output(); //Salida al navegador del pdf
?>
Mi problema viene siendo que no me muestra el recibo porque supuestamente no encuentra nada (como si no se hiciera la consulta o el dato ingresado no coincide con lo que ya esta ahi), lo cual no entiendo porque si en el archivo anterior de mostrar los resultados si lo hace, no es un error de sintaxis ni tampoco es algo que muestre ( pero si podria ser un error de procedimiento), aunque eso ya lo habia dicho en el primer post (si lo leiste claro está), quiero saber en que parte voy mal y porque no me procesa esas lineas, mientras voy buscando a ver que consigo. De nuevo perdon por lo del multipost ...
  #6 (permalink)  
Antiguo 29/07/2014, 13:55
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 10 meses
Puntos: 288
Respuesta: FPDF Problemas para procesar consulta a bd

hola
nadie se va a poner a probar todo, por que vos tenes un servidor especifico y tenes propios problemas a partir de ahi.
nada de lo que te pasa a vos me pasa a mi ni al vecino ( en cuantop a php)

bueno entonces solo tendrias que haber publicado solo estas lineas:

Código PHP:
Ver original
  1. <?php
  2. //Creamos objeto de la clase myDBC
  3.     //para hacer uso del método seleccionar_recibo()
  4.     $consultaPersona = new myDBC();
  5.     //En una variable guardamos el array que regresa el método
  6.     $datosPersona = $consultaPersona->seleccionar_recibo($cedula,$mes,$año);
  7.     //Array de cadenas para la cabecera
  8.     $cabecera = array("Cédula","Nombre","Código Cargo","Cargo","Tipo Contrato","Ingreso","Nomina a Pagar","Descripción","Asignaciones","Deducciones","Total","Mes","Año");
  9.  
  10.     $pdf->tabla($cabecera,$datosPersona); //Método que integra a cabecera y datos
  11.     $pdf->Output(); //Salida al navegador del pdf
  12. ?>

Lo primero que haria es ver que datos tiene $datosPersona

Código PHP:
Ver original
  1. <?
  2. echo '<pre>';
  3. print_r($datosPersona);
  4. echo '</pre>';
  5. ?>

lo segundo es que la cantidad de cabeceras coincida con la cantodad de campos por registro

empeza por esas 2 cosas sencillas
  #7 (permalink)  
Antiguo 30/07/2014, 07:28
 
Fecha de Ingreso: junio-2014
Ubicación: Trujillo
Mensajes: 37
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: FPDF Problemas para procesar consulta a bd

Cita:
Iniciado por Patriarka Ver Mensaje
hola
nadie se va a poner a probar todo, por que vos tenes un servidor especifico y tenes propios problemas a partir de ahi.
nada de lo que te pasa a vos me pasa a mi ni al vecino ( en cuantop a php)

bueno entonces solo tendrias que haber publicado solo estas lineas:

Código PHP:
Ver original
  1. <?php
  2. //Creamos objeto de la clase myDBC
  3.     //para hacer uso del método seleccionar_recibo()
  4.     $consultaPersona = new myDBC();
  5.     //En una variable guardamos el array que regresa el método
  6.     $datosPersona = $consultaPersona->seleccionar_recibo($cedula,$mes,$año);
  7.     //Array de cadenas para la cabecera
  8.     $cabecera = array("Cédula","Nombre","Código Cargo","Cargo","Tipo Contrato","Ingreso","Nomina a Pagar","Descripción","Asignaciones","Deducciones","Total","Mes","Año");
  9.  
  10.     $pdf->tabla($cabecera,$datosPersona); //Método que integra a cabecera y datos
  11.     $pdf->Output(); //Salida al navegador del pdf
  12. ?>

Lo primero que haria es ver que datos tiene $datosPersona

Código PHP:
Ver original
  1. <?
  2. echo '<pre>';
  3. print_r($datosPersona);
  4. echo '</pre>';
  5. ?>

lo segundo es que la cantidad de cabeceras coincida con la cantodad de campos por registro

empeza por esas 2 cosas sencillas
Buen día, gracias por responder, y bueno (suelo poner asi porque siempre preguntan por otras cosas no porque pida que me prueben todo, perdon si te canse la vista ), ahora respecto a tus sugerencias, probe y revise y no, parece que el problema no es por las cabeceras porque las conte y estan bien, tambien probe las lineas que me sugeriste y pues no mando nada, bueno, voy a ver si consigo algo para verificar eso y si doy con la solución por aqui la pongo así le sirve a otro, nos vemos ...
  #8 (permalink)  
Antiguo 30/07/2014, 07:57
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 10 meses
Puntos: 288
Respuesta: FPDF Problemas para procesar consulta a bd

probaste activar todos los errores de php para ver que sucede realmente?

error_reporting(E_ALL);
ini_set('display_errors', 1);
  #9 (permalink)  
Antiguo 30/07/2014, 10:02
 
Fecha de Ingreso: junio-2014
Ubicación: Trujillo
Mensajes: 37
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: FPDF Problemas para procesar consulta a bd

Cita:
Iniciado por Patriarka Ver Mensaje
probaste activar todos los errores de php para ver que sucede realmente?

error_reporting(E_ALL);
ini_set('display_errors', 1);
Buen día, si amigo, si saliera un error referente a php o mysqli lo mostrara, pero no, no sale nada y el unico error que me sale es el que esta especificado en las lineas del sistema que dice que no encuentra nada cuando se le pone un dato que no esta en la bd, lo cual no deberia pasar en la pagina de los resultados de la busqueda...
  #10 (permalink)  
Antiguo 30/07/2014, 10:07
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 10 meses
Puntos: 288
Respuesta: FPDF Problemas para procesar consulta a bd

salen los errores solo si los errores estan activados,
yo me encuentro cada dia que activo todos los errores, pero por ejemplo ppdf tiene en un algun lugar error_reporting(0); y eso hace que no muestre ningun error.
siempre que uses librerias externas no tenes que dar por echo algo que no se esta 100% seguro.

entonces si una funcion no te devuelve lo esperado tenes otros 2 caminos:
1. consultar la documentacion y ver la funcion que devuelve el error
2. instalar el x-debug de php y debuguear linea por linea

claro que estas 2 opciones nadie las puede hacer por vos
  #11 (permalink)  
Antiguo 31/07/2014, 08:03
 
Fecha de Ingreso: junio-2014
Ubicación: Trujillo
Mensajes: 37
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: FPDF Problemas para procesar consulta a bd

Cita:
Iniciado por Patriarka Ver Mensaje
salen los errores solo si los errores estan activados,
yo me encuentro cada dia que activo todos los errores, pero por ejemplo ppdf tiene en un algun lugar error_reporting(0); y eso hace que no muestre ningun error.
siempre que uses librerias externas no tenes que dar por echo algo que no se esta 100% seguro.

entonces si una funcion no te devuelve lo esperado tenes otros 2 caminos:
1. consultar la documentacion y ver la funcion que devuelve el error
2. instalar el x-debug de php y debuguear linea por linea

claro que estas 2 opciones nadie las puede hacer por vos
Buen día, gracias por responder, no sabia que fpdf tenia esa linea, bueno la busque en la libreria y no se la encontre (aun asi vere donde la pongo a ver de que se trata), seguro no lo he dicho antes pero ando un poco novato con el lenguaje php y sus librerias (mas que todo fpdf y las cosas nuevas que hay en la versión más reciente ), ahora lo de las otras tratare de ver lo que me sugeriste (excepto lo de la documentación porque eso ya lo ando haciendo), bueno cualquier cosa que lo solucione por aqui lo pongo así le sirve a otro (recuerda que empezando siempre cuesta un poquito, a pesar de la documentación ), bueno creo que eso es todo por ahora, nos vemos, gracias por la paciencia y por tu tiempo...

Última edición por santosm13; 31/07/2014 a las 08:12 Razón: Corrección leve
  #12 (permalink)  
Antiguo 01/08/2014, 08:06
 
Fecha de Ingreso: junio-2014
Ubicación: Trujillo
Mensajes: 37
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: FPDF Problemas para procesar consulta a bd

Buen día, acabo de revisar bien el asunto y parece que el problema esta en la forma como mando a procesar la consulta de la bd a esta libreria, veras antes estaba para que recibiera información directamente de un formulario (con $post), pero ahora tengo que hacerla funcionar con la variable SESSION y que la información que recibe del otro archivo la procese, tal vez deba cambiar la manera en que lo ejecuto en el archivo que genera el pdf, voy a ver que consigo por ahi, gracias por la ayuda que me proporcionaste...

Etiquetas: bd, fecha, formulario, fpdf, html, procesar, select, tabla, usuarios, variable
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 20:45.