Codeigniter - Problema con Variables el libreria TCPDF

   
Vista:
Imágen de perfil de Felipe Ignacio

Problema con Variables el libreria TCPDF

Publicado por Felipe Ignacio (5 intervenciones) el 06/12/2017 01:28:26
Hola buenas noches,

Necesito de su ayuda, resulta que estoy generando un contrato, mediante la librería de pdf TCPDF, al momento de ingresar un rut al input, en el controlador, este me busca los datos en el modelo y me devuelve los datos, ahora bien, al momento de imprimirlos, no los muestra.
CONTROLADOR
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
public function contrato() {
 
 
 
        $this->load->library('Pdf');
        $this->load->model('alumno_modelo');
 
        $RUT = $this->input->post('rut_contrato');
        $data = $this->alumno_modelo->obtenerContrato($RUT);
       /* print_r($data);
        echo "hay algo";
    exit();*/
         //$params1 = array(
         //     'idPersona' => $this->input->post('rut_contrato'));
        // $dato = $this->alumno_modelo->obtenerContrato('rut_contrato');
       $pdf = new Pdf('P', 'mm', 'A4', true, 'UTF-8', false);
        $pdf->SetCreator(PDF_CREATOR);
        $pdf->SetTitle('Contrato de Trabajo');
        $pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING, array(0, 64, 255), array(0, 64, 128));
        $pdf->setFooterData($tc = array(0, 64, 0), $lc = array(0, 64, 128));
        $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
        $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
        $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
        $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
        $pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
        $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
        $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
        $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
        $pdf->setFontSubsetting(true);
        $pdf->SetFont('freemono', '', 11, '', true);
        $pdf->AddPage();
 
        $html = '';
        foreach ($data as $datos) {
 
        $html .= "<h2>CONTRATO DE TRABAJO</h2>";
        $html .= "El siguiente contrato será entre " .$datos['idPersona']. " ".$datos['apellidos']." con RUT ".$datos['nombres']." //Linea 78
        Ahora";
        }

        $pdf->writeHTMLCell($w = 0, $h = 0, $x = '', $y = '', $html, $border = 0, $ln = 1, $fill = 0, $reseth = true, $align = '', $autopadding = true);
        $nombre_archivo = utf8_decode("Localidades de .pdf");
       $pdf->Output($nombre_archivo, 'I');

    }

MODELO
1
2
3
4
5
6
7
8
function obtenerContrato($RUT)
    {
        $query = $this->db->query("call GetUserContrato ('$RUT')");
        return $query->result();
    }
 
}
?>

Me di cuenta, que la etiqueta $html no me la lee cuando se encuentra dentro del foreach.

Me aparece este error.

<p>Type: Error</p>
<p>Message: Cannot use object of type stdClass as array</p>
<p>Filename: C:\xampp\htdocs\rrhh\application\controllers\GeneraContrato.php</p>
<p>Line Number: 78</p>


Agradecería mucho de su ayuda respecto al problema planteado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip

Problema con Variables el libreria TCPDF

Publicado por kip (21 intervenciones) el 06/12/2017 02:02:49
Hola, cambia esta linea:

1
return $query->result();

Asi:

1
return $query->result_array();

El problema es que accedes a los valores como si fuese un array cuando en realidad es un objeto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Felipe Ignacio

Problema con Variables el libreria TCPDF

Publicado por Felipe Ignacio (5 intervenciones) el 06/12/2017 02:20:27
Me sigue apareciendo el detalle.

Ahora bien, si subo el foreach, me aparece este mensaje.

Severity: Notice

Message: Undefined variable: html

Filename: controllers/GeneraContrato.php

Line Number: 82

Cuando la variable $html se encuentra dentro del foreach, no me lo reconoce.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip

Problema con Variables el libreria TCPDF

Publicado por kip (21 intervenciones) el 06/12/2017 03:21:07
No puedes mover el foreach mas arriba porque debes tener definida la variable html para concatenar con .=, ahora bien si no te modifica $html es porque de seguro algo falla en el foreach, como te dije cambia eso en el modelo para obtener los resultados como un array y luego verifica que lo que te retorna el modelo tenga datos ya que veo que ejecutas un stored procedure y creo que algo falla alli. Puedes hacerlo con print_r()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar