Respuesta: Duda con clases y variables session Cita:
Iniciado por arcanisgk122 antes de generar el pdf intenta imprimir las variables todas para ver su contenido omitiendo la salida de pdf
otra situacion es que no veo es que instancias la clase
pero no veo donde hagas la consulta, no veo donde llamas a la funcion de la base de satos no veo nada con respecto a la coneccion busqueda y regreso de datos en tu base de datos...
es importante que establescas un orden organisacion de codigo esto que estas haciendo es tipo procedural no orientado a objetos:
revisa que la consulta este funcionando adecuadamente y que estas enviando y recibiendo las variables. Cita:
Iniciado por quinqui Holas a todos.
Uff leyendo lo que han posteado pues que me perdí totalmente, he visto unas vueltas medio raras para cosas que según mi entender son tan simples como una asignación plana de valores, pero que ustedes han hecho hasta funciones, e incluso invocado funciones que no existen (array_cedula...)...
Sólo para aconsejar, santosm13, te comento lo siguiente:
- Respecto a tu primera consulta, donde quieres obtener los recibos del usuario conectado.
En principio, se supone que tienes una clase donde ejecutas un método que te permite traer todos los recibos del usuario identificado por $cedula, sea quien sea éste. O sea, puedes consultar los recibos del usuario "pedrito" o "juanito" o "santosm13", cierto?
Luego, te pidieron que al usuario conectado le aparecieran sus propios recibos. En ese sentido, no tenías que modificar para nada tu clase. Bastaba con enviarle en el parámetro $cedula, la $cedula del usuario conectado, valor que podías obtener de la sesión. Vale decir, no meter la sesión en la clase.
- Respecto a la sesión de usuario.
Si quieres acceder a la sesión actual, sólo debes acceder al array $_SESSION como si de cualquier arreglo se tratara. Código PHP: // así cargas un valor en sesión:
$_SESSION["session"]["cedula"] = "juanito"; // ó
$_SESSION["session"]["cedula"] = $cedula_equis;
// así lo llamas:
$cedula = $_SESSION["session"]["cedula"]; // ó
$query = "SELECT * FROM tabla WHERE cedula = '".$_SESSION["session"]["cedula"]."' ";
Saludos! Buenas tardes, gracias por responder, respecto a lo que dijeron antes, creo que si miras lo que he puesto hasta ahora te encontraras en que en el archivo de configuración muestro como hago la consulta para buscar la tabla en la bd, ahora sobre como lo muestra en el pdf, creo que me falto poner esto: 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',175, 12,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, 2 , '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
?> Bueno, ahora en cuanto a lo que menciono quinqui sobre los llamados, creo que tomare nota de eso, voy a probar y les cuento como me fue, aunque creo que ya nos andamos saliendo del tema del post que abri (y bueno también que ya lo marqué como solucionado ), aunque la verdad estamos en casi lo mismo solo que ya es mostrar, mm bueno, nos vemos... |