Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/07/2014, 08:51
santosm13
 
Fecha de Ingreso: junio-2014
Ubicación: Trujillo
Mensajes: 37
Antigüedad: 9 años, 10 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 ...