Fpdf y multicell
Estoy creando un documento pdf con fpdf, necesito crear un tabla con multicell para que el texto que introduzco en la tabla se pueda ajustar a la celda, sin embargo a crear la tabla y darle la orientación con por, y, pues me encima la información y no se como hacerla, por que me muestra la consulta en una misma fila y toda ensimada en las celdas. Es decir si deberían de ser tres filas somo me muestra una pero con toda la información ensimada.
El código que tengo es el siguiente:
function BasicTableSQL2($pdf)
{
$pdf->Cell(5,7,"No.",1);
$pdf->Cell(40,7,"SERVICIOS ",1);
$pdf->Cell(50,7,"FACTORES ",1);
$pdf->Cell(30,7,"UNIDAD ",1);
$pdf->Cell(10,7,"MINIMO",1);
$pdf->Cell(10,7,"ESPERADO",1);
$pdf->Cell(10,7,"MAXIMO",1);
$pdf->Cell(25,7,"DESCRIPCION ",1);
$pdf->Ln(); //Esto hace un cambio de línea
mysql_connect('localhost','xxx','xxx');
mysql_select_db('documentacion);
$result9=mysql_query("select numero, serv, factores, unidad, minimo_espe, valor, maximo, des from resultados where anio= '".$_SESSION['anio']."'");
$number_of_products9 = mysql_numrows($result9);
while ($row = mysql_fetch_array($result9)) {
$Y_Table_Position = 33;
$pdf->SetY($Y_Table_Position);
$pdf->SetX(10);
$pdf->MultiCell(5,15,$row['numero'],1);
$pdf->SetY($Y_Table_Position);
$pdf->SetX(15);
$pdf->MultiCell(40,15,$row['serv'],1);
$pdf->SetY($Y_Table_Position);
$pdf->SetX(55);
$pdf->MultiCell(50,15,$row['factores'],1);
$pdf->SetY($Y_Table_Position);
$pdf->SetX(105);
$pdf->MultiCell(30,15,$row['unidad'],1);
$pdf->SetY($Y_Table_Position);
$pdf->SetX(135);
$pdf->MultiCell(10,15,$row['minimo_espe'],1);
$pdf->SetY($Y_Table_Position);
$pdf->SetX(145);
$pdf->MultiCell(10,15,$row['valor'],1);
$pdf->SetY($Y_Table_Position);
$pdf->SetX(155);
$pdf->MultiCell(10,15,$row['maximo'],1);
$pdf->SetY($Y_Table_Position);
$pdf->SetX(165);
$pdf->MultiCell(25,15,$row['des'],1);
$pdf->Ln(); //Salto de Línea.
}
}
//mysql_close();
$pdf->AddPage(); //Adiciono una nueva página
$i = 0;
$pdf->SetY($Y_Table_Position);
while ($i < $number_of_products9)
{
$pdf->SetX(45);
$pdf->MultiCell(120,6,'',0, L, J);
$i = $i +1;
}
$Y_Fields_Name_position = 20;
$Y_Table_Position = 26;
$pdf->SetFillColor(232,232,232);
$pdf->SetFont('Arial','B',12);
$pdf->SetY($Y_Fields_Name_position);
$pdf->SetX(25);
$pdf->Cell(150,6,'OBJETIVOS"',0,0,'L',1);
$pdf->Ln();
$pdf->SetFont('Arial','',6); //Tipo de fuente y tamaño.
BasicTableSQL2($pdf); //Llamo a la función y le paso el objeto $pdf como parámetro. Esto me crea la tabla.
Espero haberme dado a entender y ojalá me puedas ayudar
El código que tengo es el siguiente:
function BasicTableSQL2($pdf)
{
$pdf->Cell(5,7,"No.",1);
$pdf->Cell(40,7,"SERVICIOS ",1);
$pdf->Cell(50,7,"FACTORES ",1);
$pdf->Cell(30,7,"UNIDAD ",1);
$pdf->Cell(10,7,"MINIMO",1);
$pdf->Cell(10,7,"ESPERADO",1);
$pdf->Cell(10,7,"MAXIMO",1);
$pdf->Cell(25,7,"DESCRIPCION ",1);
$pdf->Ln(); //Esto hace un cambio de línea
mysql_connect('localhost','xxx','xxx');
mysql_select_db('documentacion);
$result9=mysql_query("select numero, serv, factores, unidad, minimo_espe, valor, maximo, des from resultados where anio= '".$_SESSION['anio']."'");
$number_of_products9 = mysql_numrows($result9);
while ($row = mysql_fetch_array($result9)) {
$Y_Table_Position = 33;
$pdf->SetY($Y_Table_Position);
$pdf->SetX(10);
$pdf->MultiCell(5,15,$row['numero'],1);
$pdf->SetY($Y_Table_Position);
$pdf->SetX(15);
$pdf->MultiCell(40,15,$row['serv'],1);
$pdf->SetY($Y_Table_Position);
$pdf->SetX(55);
$pdf->MultiCell(50,15,$row['factores'],1);
$pdf->SetY($Y_Table_Position);
$pdf->SetX(105);
$pdf->MultiCell(30,15,$row['unidad'],1);
$pdf->SetY($Y_Table_Position);
$pdf->SetX(135);
$pdf->MultiCell(10,15,$row['minimo_espe'],1);
$pdf->SetY($Y_Table_Position);
$pdf->SetX(145);
$pdf->MultiCell(10,15,$row['valor'],1);
$pdf->SetY($Y_Table_Position);
$pdf->SetX(155);
$pdf->MultiCell(10,15,$row['maximo'],1);
$pdf->SetY($Y_Table_Position);
$pdf->SetX(165);
$pdf->MultiCell(25,15,$row['des'],1);
$pdf->Ln(); //Salto de Línea.
}
}
//mysql_close();
$pdf->AddPage(); //Adiciono una nueva página
$i = 0;
$pdf->SetY($Y_Table_Position);
while ($i < $number_of_products9)
{
$pdf->SetX(45);
$pdf->MultiCell(120,6,'',0, L, J);
$i = $i +1;
}
$Y_Fields_Name_position = 20;
$Y_Table_Position = 26;
$pdf->SetFillColor(232,232,232);
$pdf->SetFont('Arial','B',12);
$pdf->SetY($Y_Fields_Name_position);
$pdf->SetX(25);
$pdf->Cell(150,6,'OBJETIVOS"',0,0,'L',1);
$pdf->Ln();
$pdf->SetFont('Arial','',6); //Tipo de fuente y tamaño.
BasicTableSQL2($pdf); //Llamo a la función y le paso el objeto $pdf como parámetro. Esto me crea la tabla.
Espero haberme dado a entender y ojalá me puedas ayudar
Respuesta de davidcortesb
1