¿Como posicionar dos tablas en la misma linea con FPDF PHP?

publicado por: Anonymous

Estoy intentando crear dos tablas en la misma linea pero no logro conseguirlo, agradeceria alguna ayuda.

_________________________     _________________________
Lado Izquierdo | Cumple        Lado Derecho | Cumple          
_________________________     _________________________
  Lado1        |  Si           Lado1        |  Si          
  Lado2        |  No           Lado2        |  Si
  Lado3        |  Si           Lado3        |  Si
  Lado4        |  Si           Lado4        |  Si
_________________________     _________________________

 _________________________    
Lado Frente    | Cumple            
__________________________
  Lado1        |  Si                 
  Lado2        |  No          
  Lado3        |  Si      
  Lado4        |  Si      
_________________________

Mi codigo es el siguiente, trato de posicionar la tabla
de lado derecho pasando la posicion en X y Y

   <?php
require('/../../_FPDF/fpdf.php');

class PDF extends FPDF
{
    function BasicTable($header, $data, $x = 0, $y = 0)
    {
        // Cabecera
        if ($x > 0 and $y > 0) {
            $this->SetXY($x , $y);
        }
        foreach ($header as $col)
            $this->Cell(40, 7, $col, 1);
        $this->Ln();

        // Datos
        foreach ($data as $row) {
            foreach ($row as $col) {
                if ($x > 0 and $y > 0) {
                    $this->SetXY($x + 10 , $y + 10);
                }
                $this->Cell(40, 6, $col, 1);
            }
            $this->Ln();
        }
    }
}

$pdf = new PDF();
$pdf->SetFont('Arial', '', 14);
$pdf->AddPage();

//TABLA 1
$header = array('Lado Izquierdo', 'Cumple');
$data = [];
for ($index = 0; $index < 13; $index++) {
    array_push($data, array("izquierdo" . $index, 'valor' . $index));
}
$pdf->BasicTable($header, $data);
$pdf->Ln(5);

//TABLA 2
$header = array('Lado Derecho', 'Cumple');
$data = [];
for ($index = 0; $index < 5; $index++) {
    array_push($data, array("derecho" . $index, 'valor' . $index));
}
$pdf->BasicTable($header, $data , 115 , 10 );
$pdf->Ln(5);

//TABLA 3
$header = array('Lado Frente', 'Cumple');
$data = [];
for ($index = 0; $index < 13; $index++) {
    array_push($data, array("frente" . $index, 'valor' . $index));
}
$pdf->BasicTable($header, $data);


$pdf->Output();
?>

solución

Modificando el posiciones SetXY($x , $y) consegui el reporte que necesitas.introducir la descripción de la imagen aquí

_x000D_

_x000D_

class PDF extends FPDF {_x000D_
    function BasicTable($header, $data, $x = 0, $y = 0) {_x000D_
_x000D_
		$this->SetXY($x , $y);_x000D_
		_x000D_
		// Header_x000D_
		foreach($header as $col)_x000D_
			$this->Cell(40 ,7,$col,1);_x000D_
		$this->Ln();_x000D_
		_x000D_
		// Data_x000D_
		$i = 7;_x000D_
		$this->SetXY($x , $y + $i);_x000D_
		foreach($data as $row){_x000D_
			foreach($row as $col){_x000D_
				//$this->SetXY($x , $y + $i);_x000D_
				$this->Cell(40 ,6,$col,1);_x000D_
				_x000D_
			}_x000D_
			$i= $i + 6 ;  // incremento el valor de la columna_x000D_
			$this->SetXY($x , $y + $i);		_x000D_
		  //$this->Ln();_x000D_
		}_x000D_
	}_x000D_
}_x000D_
_x000D_
$pdf = new PDF();_x000D_
$pdf->SetFont('Arial', '', 14);_x000D_
$pdf->AddPage();_x000D_
_x000D_
_x000D_
_x000D_
//TABLA 1_x000D_
$header = array('Lado Izquierdo', 'Cumple');_x000D_
$data = [];_x000D_
for ($index = 0; $index < 13; $index++) {_x000D_
    array_push($data, array("izquierdo" . $index, 'valor' . $index));_x000D_
}_x000D_
$pdf->BasicTable($header, $data, 10, 10);_x000D_
//pdf->Ln(5);_x000D_
_x000D_
_x000D_
_x000D_
//TABLA 2_x000D_
$header = array('Lado Derecho', 'Cumple');_x000D_
$data1 = [];_x000D_
for ($index = 0; $index < 5; $index++) {_x000D_
    array_push($data1, array("derecho" . $index, 'valor' . $index));_x000D_
}_x000D_
$pdf->BasicTable($header, $data1 , 100,10  );_x000D_
$pdf->Ln(5);_x000D_
_x000D_
_x000D_
//TABLA 3_x000D_
$header = array('Lado Frente', 'Cumple');_x000D_
$data = [];_x000D_
for ($index = 0; $index < 13; $index++) {_x000D_
    array_push($data, array("frente" . $index, 'valor' . $index));_x000D_
}_x000D_
_x000D_
$pdf->BasicTable($header, $data, 10, 110);_x000D_
_x000D_
_x000D_
$pdf->Output();

_x000D_

_x000D_

_x000D_

Respondido por: Anonymous

Leave a Reply

Your email address will not be published.